😈

RailsでMigrationを無視する設定方法

2021/01/04に公開

MigrationErrorは無視するべきではありません。

PendingMigrationErrorは「まだマイグレーションできてないから不正データでApp動かそうとしてるけど大丈夫?」

とシステムが自分に言ってくれているからです。

Migrationはどの地点からでも、復旧できなければならない。

マイグレーションファイルは冪等なupとdownメソッドを持っていて、かならず定義された状況にテーブル構造が従うようになる。 はずだ。

だが、現実はつらく厳しく、人には色々事情がある。

Migrationを通すのにどういうわけか多大な作業が必要になるケースがある。どう突破するか。

解決法

developmentのconfigファイルに以下を追記する。

# config/environments/development.rb
config.active_record.migration_error = false

これで、ActiveRecord::PendingMigrationErrorの発生が抑制されます。

まとめ

  • Migration周りのエラー・警告は無視すべきじゃない
  • どうしても飛ばしたいなら、rails configのactive_recrod.migration_errorの項を変更しよう

Discussion