0

这是关于迁移版本的 Rails 问题

所以我已经存在一些迁移。即在我的 db/migrate/ 文件夹中,我有一些这样的文件:

  • 1_add_products.rb
  • 2_add_customers.rb
  • 3_add_addresses.rb
  • 4_add_tags.rb

我已经运行了“rake db:migrate”,所以当前版本是 4。我想永久回到版本 2 并从那里开始分支。所以我做了“rake db:migrate VERSION=2”,这正确地还原了更改以反映版本 2。但是,每当我现在运行“rake db:migrate”时,它都会运行所有 4 个迁移并将我放回版本 4 .

有没有办法永久回到一个修订版,然后从那里开始新的分支?我可以在回滚到版本 2 后简单地删除迁移 3 和 4 吗?

我问的原因是因为在我回滚到版本 2 后,我需要添加新的迁移并运行“rake db:migrate”,我绝对不希望包含迁移 3 和迁移 4。

4

1 回答 1

0

删除应该可以正常工作。只要确保它在任何地方都回滚(开发、登台、生产),否则你会遇到一些奇怪的问题。

是的,肯定回滚然后删除,否则您的数据库会认为它处于实际上不存在的状态。

于 2010-07-14T00:18:23.137 回答