我有一个迁移文件db\migrate\20100905201547_create_blocks.rb。
如何具体回滚该迁移文件?
我有一个迁移文件db\migrate\20100905201547_create_blocks.rb。
如何具体回滚该迁移文件?
当前回答
对于多个数据库配置(RoR >= v6),您必须在命令中附加数据库名称,例如:
Rails db:rollback:primary,其中primary是config/databases中数据库的名称。Yml文件,回滚上次迁移。与往常一样,您可以在这里使用STEPS属性。 rails db:migrate:down:primary VERSION=your_migration_timestamp,只恢复提供的迁移版本。这里primary也是数据库的名称。
其他回答
迁移使用该命令更改数据库的状态
bundle exec rake db:migrate
我们可以使用
bundle exec rake db:rollback
要从头再来,我们可以用
bundle exec rake db:migrate VERSION=0
正如您可能猜到的那样,将任何其他数字替换为0将迁移到该版本号,其中版本号来自按顺序列出的迁移。
如果你想要回滚和迁移,你可以运行:
rake db:migrate:redo
也就是:
rake db:rollback
rake db:migrate
要回滚上次迁移,您可以执行以下操作:
rake db:rollback
如果你想用一个版本回滚一个特定的迁移,你应该做:
rake db:migrate:down VERSION=YOUR_MIGRATION_VERSION
例如,如果版本号是20141201122027,您将这样做
rake db:migrate:down VERSION=20141201122027
回滚特定的迁移。
对于多个数据库配置(RoR >= v6),您必须在命令中附加数据库名称,例如:
Rails db:rollback:primary,其中primary是config/databases中数据库的名称。Yml文件,回滚上次迁移。与往常一样,您可以在这里使用STEPS属性。 rails db:migrate:down:primary VERSION=your_migration_timestamp,只恢复提供的迁移版本。这里primary也是数据库的名称。
如果是可逆迁移,并且是最后一次已执行的迁移,则执行rake db:rollback。你可以一直使用这个版本。
例如,如果迁移文件为20140716084539_create_customer_stats。Rb,回滚命令为:
rake db:migrate:down VERSION=20140716084539