移行は単なるRubyファイルであるため、次のことができrequire
ます。
require "./db/migrate/20120117195557_create_model.rb"
class ReverseCreateModel < ActiveRecord::Migration
def up
CreateModel.new.down
end
def down
CreateModel.new.up
end
end
元の移行でを使用する場合はchange
、とを使用する必要がありCreateModel.new.migrate(:down)
ますCreateModel.new.migrate(:up)
。
私の場合、使用migrate(direction)
すると、移行時にさらに多くの出力が生成されます。
== ReverseCreateModel: migrating ======================================
== CreateModel: reverting =============================================
(...)
== CreateModel: reverted (0.0018s) ====================================
== ReverseCreateModel: migrated (0.0019s) =============================
それ以外の:
== ReverseCreateModel: migrating ======================================
(...)
== ReverseCreateModel: migrated (0.0019s) =============================
この回答はhttps://stackoverflow.com/a/754316/183791に基づいています