mame  2022/04/04更新

[Ruby on Rails] migrateファイルのnull: falseについて


migrateファイルのnull: falseとは

環境

Windows10

rails 6.1.4

ruby 2.6.3

例.

class CreateNotifications < ActiveRecord::Migration[6.1]

 def change

  create_table :notifications do |t|

   t.integer :visitor_id, null: false ←ここの説明です

   t.integer :visited_id, null: false  ←ここの説明です

   t.integer :post_id

   t.integer :post_comment_id

   t.string :action, default: '', null: false

   t.boolean :checked, default: false, null: false

   t.timestamps

  end

 end

end

※null: falseを入れることによって指定したカラムに空の状態で 保存されるのを防ぎます。 modelにバリデーションを設定しただけでは、ブラウザ上では入力出来ませんが、SQLから実 行すると、入力出来てしまいます。 validates :action, presence: true なので、modelにpresence: trueを記述する際は、マイグレーションにnull: falseの記述を 追加するとSQLからも入力出来ないです。

お疲れ様でした。

何か間違いがありましたら、ご指摘宜しくお願い致します。

タイトルとURLをコピーしました