从schema.rb生成迁移文件

时间:2011-03-07 20:24:31

标签: ruby-on-rails ruby ruby-on-rails-3 migration

我正在寻找从schema.rb生成迁移文件。可能吗?

我目前有很多迁移文件,并希望将所有内容合并到一个主迁移文件中。

我还认为我可能在某个时候意外删除了迁移文件。

感谢您的帮助

2 个答案:

答案 0 :(得分:54)

您可以将schema.rb复制并粘贴到迁移中并将其更新(例如更改日期),以便现有数据库不会运行它。创建此迁移后,您可以删除所有旧迁移。

我不同意Andrew,你永远不应该删除迁移。基于模型类的更改,迁移会一直意外中断,修复它们非常简单。由于我确定您正在使用版本控制,因此如果您需要它们以供参考,您可以随时回顾历史记录。

答案 1 :(得分:20)

没有必要这样做。对于新安装,您应该运行rake db:schema:load,而不是rake db:migrate,这会将架构加载到数据库中,这比运行所有迁移更快。

您永远不应删除迁移,当然也不能将它们组合在一起。至于意外删除一个,您应该使用version control system,例如Git