Nao000のぶろぐ

蝶を追っている少年になりたい

Elixir ecto でNULL禁止カラムを空文字でアップデートしたらエラーになった ERROR 23502 (not_null_violation)

ERROR 23502 (not_null_violation) null value in column "アップデートしたいカラム" violates not-null constraint

空文字でPOSTしたら空文字のままUPDATEされるかと思ったら設定によってはnilとして更新されてしまうらしい。空文字で更新したい場合は schema 定義の属性に default: "" を指定することによってnilに変換せずに更新可能です。

      schema "blogs" do
        # field :sample_column, :string
        # ↓↓↓
        field :sample_column, :string, default: ""
      end

参考資料