如何指定所有表都应包含某些字段?
假设我已经用很多表(大约 40 个)定义了我的数据库。我现在意识到我想向每个表添加某些列。为了举例,就这样吧 created_by
和 updated_by
。
有没有什么方法可以轻松完成此操作,而无需进行 40 次迁移并手动更新每个迁移?
我正在使用 Rails 2.3.8
Supose that I already have defined my database with a lot of tables (around 40). I realize now that I want to add certain columns to each table. For the sake of the example let it becreated_by
and updated_by
.
Is there any way to do this painless without going through 40 migrations and update each of them manually?
I am using rails 2.3.8
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以生成单个迁移并将此代码放入其中。它将为您提供所有表的数组(减去 Rails 自动创建的“schema_migrations”表),然后向每个表添加列。
You could generate a single migration and put this code in it. It will give you an array of all the tables (minus the "schema_migrations" table that Rails automatically creates) and than add the column(s) to each one.
你不需要四十次迁移。您可以只进行一次迁移,例如:
You don't need forty migrations. You can make just one migration, for example:
这个问题/答案帮助我修复了所有表的编码......
This question/answer helped me to fix encoding of all tables...