添加迁移,然后删除迁移文件

时间:2018-10-11 22:37:24

标签: ruby-on-rails

在接下来的5年中,是否有更好的方法来扩展Rails应用程序,而不是拥有20,000个迁移文件?例如,我想在不创建另一个迁移文件的情况下向模型添加列。

例如,我可以创建一个新的迁移以添加列,迁移所做的更改,然后删除迁移文件吗?随着应用程序的扩展,有更好的方法来解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

只要保留schema.rb文件,您就可以删除旧的迁移文件。 (但首先请确保已运行迁移,然后再删除它们!)

您可以使用rake db:schema:dump创建最新的架构文件。

答案 1 :(得分:1)

那么,您可以在mysql / pqsql / oracle客户端中手动添加该列,然后编辑原始迁移文件以添加该列。像这样:

t.integer :new_column_level, null: false, default: 1

,但随后必须手动更新安装了该应用程序的所有服务器。迁移文件的一个优点是capistrano将在下一个部署中运行更改。

我也尝试避免使用新的迁移文件,但这样做是因为我知道并处理了所有服务器。