回滚迁移的后果

时间:2017-05-05 22:19:48

标签: ruby-on-rails migration

postbres上我的第一个网站上的Newb。我回滚了一个迁移,然后进行了另一次迁移。我将第二次迁移留空了并且导航了db:migrated。

一切似乎都很正常,但糟糕的迁移仍然存在,我并不特别喜欢它。我只是想知道如果继续下去会有什么后果。

编辑:我的问题是 - 如果我回滚迁移,当其他人撤下时,迁移是否会自然地完成并且会导致以下迁移陷入困境?

1 个答案:

答案 0 :(得分:1)

如果它是一款新应用,而您目前只在本地计算机上进行开发(特别是如果您单独开发),我会回滚迁移(作为数据库中的数据)在这一点上,不应该是至关重要的,所以它的损失不应该造成任何伤害,而且,就个人而言,我不希望在开发过程中没有不必要的甚至错误/损坏的迁移文件),删除损坏的迁移文件,创建正确的迁移并运行db:migrate并将更改推送到git。 所以(轨道5): rails d migration MigrationYouWishToDestroy rails db:migrate

如果您正在团队中进行开发(并且以前的迁移已经被推送到repo)和/或正在处理您无法通过回滚丢失的数据,那么您应该创建一个有效的新迁移撤消先前的迁移(糟糕的迁移)所做的事情。这样,您的同事只需在拉动更改后运行db:migrate即可。否则,他们也必须回滚他们的数据库,然后运行db:migrate

相关问题