railsでmodelを作成してmigrateして、、、を盲目的におこなっていたのでmigrationファイルのstatusについてまとめます。
migration statusについて
$ rails db:migrate:status
で確認することができます。
statusがupのものはmigration済でmigrateされません。逆にdownのものがmigrateされてschema.rbに反映されます。
schemaに反映されたものは以下の三箇所で使われる。
- ActiveRecord::Railtieのinitializer
- ActiveRecord::Tasks::DatabaseTasks
- active_record/railties/databases.rake
本番環境で躓いた
私自身、ローカルで盲目的にrails db:migrateしており、本番環境でtableが作成されないことがありました。
ここら辺は学ばないと確実に躓きそうなポイントだと思ったので記事にしました。