1. ホーム
  2. ruby-on-rails

railsのコンソールからマイグレーションを実行する

2023-12-08 19:57:29

質問

db:migrate と db:rollback の rake コマンドをコンソールで実行する方法はありますか?

rails環境の読み込みを待つのは最悪です!

どうすれば解決するの?

Rails <= 4

これにより、rails環境全体をリロードすることなく移行することができます。

ActiveRecord::Migrator.migrate "db/migrate"

とロールバックする。

# 3 is the number of migration to rollback, optional, defaults to 1
ActiveRecord::Migrator.rollback "db/migrate", 3

Rails >= 5 (@gssbznさんに感謝。彼の回答は以下の通りです)

マイグレート:

ActiveRecord::MigrationContext.new("db/migrate").migrate

そしてロールバック:

# 3 is the number of migration to rollback, optional, defaults to 1
ActiveRecord::MigrationContext.new("db/migrate").rollback 3