null: false
で NOT NULL制約
をかけています。
NOT NULL 制約は、NULL値(何も値が無い状態)が列に入力されないようにするためのものなので、何かしらの値を格納しなければいけません。
そこで、 default: ""
で空文字をデフォルトで格納するようにしています。
空文字を格納することによって、絶対にカラムの値がnullにならないようにしている。
空文字の他にも、数値や論理値などが格納されている場合もあります。
Like!
devise導入時に生成される default: "" の意味が知りたいです
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
### 該当するソースコード
```ruby
class DeviseCreateUsers < ActiveRecord::Migration[6.0]
def change
create_table :users do |t|
## Database authenticatable
t.string :email, null: false, default: ""
t.string :encrypted_password, null: false, default: ""
t.stiring :email, null:falseの
t.stiring :email,はdevise導入時に自動生成されたemailカラムで
null:false は入力時にからでは登録でいないという制約かかかっていることは分かりました
default: ""の部分の意味は機能についてご教授ください
基礎的な質問ですみません
よろしくお願いします
null: false
で NOT NULL制約
をかけています。
NOT NULL 制約は、NULL値(何も値が無い状態)が列に入力されないようにするためのものなので、何かしらの値を格納しなければいけません。
そこで、 default: ""
で空文字をデフォルトで格納するようにしています。
空文字を格納することによって、絶対にカラムの値がnullにならないようにしている。
空文字の他にも、数値や論理値などが格納されている場合もあります。
レコード作成時に何も指定しなかった時のデフォルト値が空文字っていう意味ですね
deviseの実装都合でそうなっているのでは