小编典典

如何回滚特定迁移?

all

我有以下迁移文件db\migrate\20100905201547_create_blocks.rb

如何专门回滚该迁移文件?


阅读 115

收藏
2022-02-28

共1个答案

小编典典

rake db:rollback STEP=1

如果要回滚的迁移是最后应用的迁移,则可以这样做。您可以将 1 替换为您想要返回的任意数量的迁移。

例如:

rake db:rollback STEP=5

还将回滚后来发生的所有迁移(4、3、2 和 1)。

要将所有迁移回滚回(并包括)目标迁移,请使用:(此更正的命令是在所有指出原始帖子中错误的评论之后添加的)

rake db:migrate VERSION=20100905201547

为了仅回滚一个特定的迁移(无序),请使用:

rake db:migrate:down VERSION=20100905201547

请注意,这不会回滚任何中间迁移 - 只有列出的迁移。如果这不是你想要的,你可以安全地运行rake db:migrate,它只会重新运行那个,跳过以前没有回滚的任何其他。

如果您想无序迁移单个迁移,还有它的逆向db:migrate:up

rake db:migrate:up VERSION=20100905201547
2022-02-28