Railsアプリケーションのmigrationファイル内mにnull: falseと記述するべきか、modelファイルにpresende: trueと記述するべきかどうかについてまとめます。 先に結論を言いますと、両方で設定したほうが良いようです。 migraionファイル Railsのマイグレーションではreferencesを使うことで外部キー制約を表現することができます。ここではそのやり方と、index: trueオプション、foreign_key: trueオプションの違い、両者を使った場合の振る舞い、referencesでは表現できない外部キー制約について触れたいと思います。 Railsでdeviseを使用してユーザーログイン機能を実装しています。 上のコードの通り、nicknameカラムにnull: falseを記述していますが、nicknameが空の状態でユーザー登録が出来てし … デフォルトではNULLが許可されています。NULLを許可しない場合には「:null => false」をオプションに指定します。 デフォルト値の設定は、レコードが追加された時、カラムに値が設定されなかった場合にデフォルトで格納される値を設定します。