Image我在rails开发上创建了一个迁移,然后我推送到了Heroku;
rails g migration add_smth_to_payments smth:string
rake db:migrate
git add -A
git commit -am "migration smth to payments"
git push heroku master
然后我想从开发开始再次销毁这个迁移,然后推送到Heroku;
rake db:rollback
rails d migration add_smth_to_payments
git add -A
git commit -am "destroy migration smth to payments"
git push heroku master
现在,我的问题是,在销毁迁移后(也可能是模型),heroku是否会从支付表中删除此迁移?我问,因为破坏发生了发展
谢谢
答案 0 :(得分:1)
迁移完成后,迁移文件本身就无关紧要了。您可以删除它,编辑它,重命名它(只要保留时间戳前缀),数据库就不会发生任何事情。实际上,许多人会定期删除旧的迁移,以避免使db/migrate
出现无关紧要的噪音。
如果您需要撤消迁移(即"从付款表中移除此迁移"),您可以编写新迁移以撤消迁移或回滚迁移。尽管如此,回滚并不总是一个选项:一些迁移无法逆转,回滚可以逆转您不想反转的迁移。
所有这些都适用于生产/ Heroku,开发以及您db:migrate
的其他任何地方。