0

我有不同的迁移文件

20120205111326_change_users_login_limit.rb
20120223110929_change_attachments_container_defaults.rb
20120223110300_change_locals_container_defaults.rb 20120223110301_change_position_tracs.rb

我想在最后一次迁移之前运行 , 的迁移,但条件是它不应该指向它的迁移版本号 20120205111326......2012022311092920120223110300

有什么办法吗...请建议我..

先感谢您

4

1 回答 1

1

有一种方法,通过 rails 控制台运行迁移

require "db/migrate/20120205111326_change_users_login_limit.rb"
ChangeUsersLoginLimit.change # or 'up' or 'down' whatever method of that migration you want to run.

并对所有迁移执行相同的操作(不要忘记按顺序执行)

编辑:

Rails 实际上并没有提供一种跳过一些运行迁移的方法。或通过更改顺序运行它们。迁移文件实际上是一个包含单个类的 ruby​​ 程序。因此,您始终可以创建 rake 任务并要求迁移到 rake 任务并以自定义逻辑顺序运行它们。毕竟迁移是带有方法的类。

于 2015-04-13T14:16:01.577 回答