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

[解決済み】単一のマイグレーションファイルを実行する

2022-03-31 16:14:45

質問

マイグレーションを簡単に1回だけ実行する方法はありますか?特定のバージョンに移行するのではなく、特定のマイグレーションを実行したいのです。

解決方法を教えてください。

Rubyファイルから直接コードを実行すればいいんです。

rails console
>> require "db/migrate/20090408054532_add_foos.rb"
>> AddFoos.new.up

注意:非常に古いバージョンのrailsでは AddFoos.up ではなく AddFoos.new.up .

別の方法(IRBなし)は、requireがクラス名の配列を返すという事実に依存します。

script/runner 'require("db/migrate/20090408054532_add_foos.rb").first.constantize.up'

を更新しないことに注意してください。 schema_migrations テーブルがありますが、いずれにせよ、それはあなたが望むことだと思われます。

さらに、ファイルが見つからない場合は require("./db/..." または require_relative 作業ディレクトリに応じて