销毁无效迁移

Ric*_*cky 4 ruby migration ruby-on-rails

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

  1. 我创建了一个我不再需要的迁移.我想删除它.简单的命令是rails destroy migration AddMyColumnToMyModel什么?

  2. 假设我错误地输入了我要销毁的迁移名称......这就是当我试图销毁不存在的迁移时会发生什么.

    $ rails destroy migration Blah
         invoke active_record
         remove migration.rb
    
    Run Code Online (Sandbox Code Playgroud)

    它说它正在消失migration.rb......这是件坏事吗?

dep*_*epa 5

  1. 当然,这是正确的命令.只是要小心:如果你真的跑了使用不必要的迁移rake db:migrate将更改提交到数据库,请务必先天下之忧运行此:

    rake db:rollback
    
    Run Code Online (Sandbox Code Playgroud)

    这样做是down在最近的迁移上运行该方法.它绝对是一样的:

    rake db:migrate:down VERSION=20130529014413
    
    Run Code Online (Sandbox Code Playgroud)

    版本号与最新迁移的版本号相对应.它还可以采用一个STEP参数,以防您需要回滚一堆迁移而不是只有一个,如下所示:

    rake db:rollback STEP=3
    
    Run Code Online (Sandbox Code Playgroud)

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

    资料来源:http://guides.rubyonrails.org/migrations.html#rolling-back

  2. 别担心,这对你的代码没有任何作用.