与其在未来5年内拥有20,000个迁移文件,还有更好的方法来扩展Rails应用程序吗?例如,我想在不创建另一个迁移文件的情况下向Model添加一个列。
例如,我可以创建一个新的迁移来添加一个列,迁移更改,然后删除迁移文件吗?是否有更好的方法作为应用程序规模来处理这个问题?
发布于 2018-10-11 22:51:17
只要保留schema.rb文件,就可以删除旧的迁移文件。(但首先要确保在删除迁移之前已经运行了迁移!)
可以使用rake db:schema:dump创建最新的架构文件。
发布于 2018-10-11 22:50:43
好的,您可以在mysql/pqsql/oracle客户机中手动添加该列,然后编辑原始迁移文件以添加该列。类似于:
t.integer :new_column_level, null: false, default: 1但是,安装应用程序的所有服务器都必须手动更新。迁移文件的一个优点是,capistrano将在下一个部署中运行这些更改。
我也试图避免新的迁移文件,但这是因为我知道并处理我的所有服务器。
https://stackoverflow.com/questions/52769831
复制相似问题