我有不同的迁移文件
20120205111326_change_users_login_limit.rb
20120223110929_change_attachments_container_defaults.rb
20120223110300_change_locals_container_defaults.rb
20120223110301_change_position_tracs.rb
我希望在上次迁移之前运行20120205111326
,20120223110929
,20120223110300
的迁移,但条件是它不应指向其迁移VERSION数字...
有没有办法做到这一点......请建议我......
提前谢谢
答案 0 :(得分:1)
有一种方法,通过rails console运行迁移
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任务并以自定义逻辑顺序运行它们。所有迁移都是带有方法的类。