Ruby on rails rails运行特定迁移

Ruby on rails rails运行特定迁移,ruby-on-rails,migration,Ruby On Rails,Migration,我删除了数据库中的一个表,称之为X.db:migrate不再工作。我有一个名为CreateX的迁移文件。有没有一种方法可以运行特定的迁移 rake db:migrate:redo VERSION=my_version 或者,您可以从特定版本上下移动: db:migrate:up VERSION=my_version db:migrate:down VERSION=my_version rake db:migrate:redo似乎对我有效(db:specific:redo只是给出了一个错误,我

我删除了数据库中的一个表,称之为X.db:migrate不再工作。我有一个名为CreateX的迁移文件。有没有一种方法可以运行特定的迁移

rake db:migrate:redo VERSION=my_version
或者,您可以从特定版本上下移动:

db:migrate:up VERSION=my_version
db:migrate:down VERSION=my_version

rake db:migrate:redo似乎对我有效(db:specific:redo只是给出了一个错误,我正在想象一个版本问题)哦,是的,你是对的,这是我的自定义rake任务,但我修复了它,现在应该可以正常工作了。如果该表已从数据库中删除,
rake db:migrate:up VERSION=my_VERSION
可能不会执行任何操作,因为schema_migrations表仍然表示它已完成。在相同的情况下,
rake db:migrate:redo VERSION=my_VERSION
可能会失败,因为它无法删除表。在这种情况下,暂时注释掉迁移中的
down
方法,然后重新运行
rake db:migrate:redo…
问题是重复的。这里的答案更好。