我正在寻找从schema.rb生成迁移文件。可能吗?
我目前有很多迁移文件,并希望将所有内容合并到一个主迁移文件中。
我还认为我可能在某个时候意外删除了迁移文件。
感谢您的帮助
答案 0 :(得分:54)
您可以将schema.rb复制并粘贴到迁移中并将其更新(例如更改日期),以便现有数据库不会运行它。创建此迁移后,您可以删除所有旧迁移。
我不同意Andrew,你永远不应该删除迁移。基于模型类的更改,迁移会一直意外中断,修复它们非常简单。由于我确定您正在使用版本控制,因此如果您需要它们以供参考,您可以随时回顾历史记录。
答案 1 :(得分:20)
没有必要这样做。对于新安装,您应该运行rake db:schema:load
,而不是rake db:migrate
,这会将架构加载到数据库中,这比运行所有迁移更快。
您永远不应删除迁移,当然也不能将它们组合在一起。至于意外删除一个,您应该使用version control system,例如Git。