rails运行特定的迁移

Dan*_*iel 65 migration ruby-on-rails

我删除了数据库中的一个表,称之为X. db:migrate不再有效.我有一个名为CreateX的迁移文件.有没有办法只运行特定的迁移?

JP *_*shy 167

rake db:migrate:redo VERSION=my_version
Run Code Online (Sandbox Code Playgroud)

或者您可以从特定版本上下移动:

db:migrate:up VERSION=my_version
db:migrate:down VERSION=my_version
Run Code Online (Sandbox Code Playgroud)

  • 注意如果表已从数据库中删除,则"rake db:migrate:up VERSION = my_version"可能会执行_nothing_,因为schema_migrations表仍然表示已完成.在相同的情况下`rake db:migrate:redo VERSION = my_version`可能_fail_因为它不能删除表.在这种情况下,暂时注释掉迁移中的`down`方法并重新运行`rake db:migrate:redo ... (36认同)