現場RailsのChapter4において、NOT NULL制約を追加するべく、マイグレーションファイルを作成しbin/rails db:migrate
を実行しようとしたところ
rails aborted!
StandardError: An error has occurred, this and all later migrations canceled:
と表示された
エラー文が長く一体どこから手を付けたものかと追ってみたところ
Caused by:
ActiveRecord::NotNullViolation: SQLite3::ConstraintException: NOT NULL constraint failed
ここが問題のようなので、調べてみた
ActiveRecord::NotNullViolation
まずActiveRecord::NotNullViolation
というのは「DBの規則上、NULLにしてはいけない項目が保存されかけました。」という意味であった
続いてSQLite3::ConstraintException: NOT NULL constraint failed
というのはこのまま検索したところ
【初心者用】rails db:migrateでエラーがでた - Qiita
これが出てきた!この記事の内容が現状とほぼ合致しており、bin/rails c
でnameをnilで保存しようとしていたのをそのままにしてしまったがために、起きていたエラーということが判明