環境
Rails5.2
Ubuntu20.4 + Vagrant
発生している問題・エラーメッセージ
null:falseにしているカラムに、""(空白)を更新しようとすると、エラーになります。
nilを更新するとエラーになるのは分かるのですが、""(空白)でエラーになる原因は何でそうか。"a"など、文字列を更新するとエラーにはなりません。
""(空白)を更新した時のエラーの内容です。""(空白)であるにも関わらず、なぜか、nullを更新しようとしているように思います。
PG::NotNullViolation: ERROR: null value in column "sisetu_cd" violates not-null constraint DETAIL: Failing row contains (20860, , , null, , , , 0, 0, 0, , , , , , , , , , ). : INSERT INTO "sisetu_kanribu_teisyutu1s" DEFAULT VALUES RETURNING "id"
sisetu_cには固定で""をセットしていますが、saveのときに、nullをセットしていると判断されているようです。
CSV.foreach(file.path, headers: true) do |row| hash = {} hash["seikyu_key_link"] = row[1] hash["bango"] = row[2] hash["sisetu_cd"] = "" hash["sisetu_nm"] = row[4] ・・・以下略 sisetu_kanribu_teisyutu1 = new sisetu_kanribu_teisyutu1.attributes = hash sisetu_kanribu_teisyutu1.save! end
回答1件
あなたの回答
tips
プレビュー