我有一个迁移文件db\migrate\20100905201547_create_blocks.rb。
如何具体回滚该迁移文件?
我有一个迁移文件db\migrate\20100905201547_create_blocks.rb。
如何具体回滚该迁移文件?
当前回答
您可以使用rake db:rollback和不同的选项来回滚迁移。语法将根据您的需求有所不同。
如果您只想回滚最后一次迁移,那么可以使用这两种方法中的任何一种
rake db:rollback
or
rake db:rollback STEP=1
如果你想要一次回滚迁移数量,那么你只需传递一个参数:
rake db:rollback STEP=n
其中n是迁移到回滚的次数,从最近一次迁移开始计算。
如果你想要回滚到一个特定的迁移,那么你应该在下面传递迁移的版本:
rake db:migrate:down VERSION=xxxxx
其中XXXXX是迁移的版本号。
其他回答
迁移文件是这样的,
20221213051020_my_migrations
在本例中,模型名应该是MyMigration。migration以一个复数词结尾,所以它以migrations结尾。
要回滚这个特定的迁移,您必须理解迁移名称的第一部分(迁移名称前面的数字)是迁移编号。
要回滚这次迁移,只需打开终端并写入,
rake db:migrate:down VERSION=migration_number
最后,你必须在终端中输入回滚这个特定的迁移,
在终端上写下面的命令回滚一个特定的迁移,上面的命令只是给你解释
rake db:migrate:down VERSION=20221213051020
只需记住,每次迁移都有不同的迁移编号,因此请仔细观察并手动复制、粘贴或键入。
您可以使用rake db:rollback和不同的选项来回滚迁移。语法将根据您的需求有所不同。
如果您只想回滚最后一次迁移,那么可以使用这两种方法中的任何一种
rake db:rollback
or
rake db:rollback STEP=1
如果你想要一次回滚迁移数量,那么你只需传递一个参数:
rake db:rollback STEP=n
其中n是迁移到回滚的次数,从最近一次迁移开始计算。
如果你想要回滚到一个特定的迁移,那么你应该在下面传递迁移的版本:
rake db:migrate:down VERSION=xxxxx
其中XXXXX是迁移的版本号。
对于多个数据库配置(RoR >= v6),您必须在命令中附加数据库名称,例如:
Rails db:rollback:primary,其中primary是config/databases中数据库的名称。Yml文件,回滚上次迁移。与往常一样,您可以在这里使用STEPS属性。 rails db:migrate:down:primary VERSION=your_migration_timestamp,只恢复提供的迁移版本。这里primary也是数据库的名称。
您可以使用down migration命令回退迁移,如下所示:
rake db:migrate:down VERSION=20100905201547
要回滚上次迁移,您可以执行以下操作:
rake db:rollback
如果你想用一个版本回滚一个特定的迁移,你应该做:
rake db:migrate:down VERSION=YOUR_MIGRATION_VERSION
如果要回滚的迁移文件名为db/migrate/20141201122027_create_some_table。rb,那么该迁移的VERSION是20141201122027,这是创建该迁移的时间戳,回滚该迁移的命令将是:
rake db:migrate:down VERSION=20141201122027