从schema.rb生成迁移文件

我想从schema.rb生成一个迁移文件。 可能吗?

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

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

谢谢你的帮助

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

您永远不应该删除迁移,当然也不能将它们组合在一起。 至于意外删除一个,你应该使用版本控制系统 ,如Git 。

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

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