这里是 Rails 的新手。关于迁移的几个问题:

  • 我创建了一个不再需要的迁移。我想删除它。正确的命令是 rails destroy migration AddMyColumnToMyModel 吗?
  • 假设我打错了我想销毁的迁移名称...当我尝试销毁不存在的迁移时会发生以下情况。
    $ rails destroy migration Blah
         invoke active_record
         remove migration.rb
    

    它说它正在删除 migration.rb ......这是一件坏事吗?
  • 最佳答案

  • 当然,这是正确的命令。请注意:如果您确实通过使用 rake db:migrate 将更改提交到数据库来运行不需要的迁移,请确保在执行其他任何操作之前运行它:
    rake db:rollback
    

    这样做是在您最新的迁移中运行 down 方法。它的作用与以下完全相同:
    rake db:migrate:down VERSION=20130529014413
    

    版本号对应于您最新迁移的版本号。它还可以采用 STEP 参数,以防您需要回滚一堆迁移而不是一个,如下所示:
    rake db:rollback STEP=3
    

    当然,如果您只是生成了不需要的迁移并且从未运行过它,则无需回滚任何内容。您可以使用您发布的命令或手动删除相应的文件来摆脱它。

    来源:http://guides.rubyonrails.org/migrations.html#rolling-back
  • 别担心,这对您的代码没有任何影响。
  • 关于ruby-on-rails - 销毁无效迁移,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16839058/

    10-16 16:54