删除过去在rails中的迁移

Luc*_*Luc 8 ruby-on-rails rails-migrations ruby-on-rails-3

自我的rails应用程序开始以来,我创建了大量的迁移.其中一些仅用于测试目的.我现在有很多完全没用的迁移(例如:在迁移中创建一个表并在下一个中删除它).

运行db:migrate后,schema.rb会更新,是否可以删除所有迁移并从schema.rb的实际内容开始?

Thi*_*ilo 8

是的,您可以(也可能应该)删除较旧的迁移.由于您的模型代码将取决于架构的更高版本,因此您的旧迁移可能不再有效.

所以一定要删除迁移(你在源代码管理下拥有它们,对吧?),然后使用

rake db:schema:load
Run Code Online (Sandbox Code Playgroud)

如果需要,初始化新数据库.

更新:Rails指南现在有类似的说法:http://guides.rubyonrails.org/active_record_migrations.html#schema-dumping-and-you

  • 您应该在源代码管理中拥有一切 - 这样,您可以删除(或修改)任何内容,而无需担心是否再次需要它.因为您可以随时恢复以前的版本. (5认同)