💡
Supabaseのupsertでnot-nullエラー
背景
個人でちょっとしたWebアプリを開発していた際に初めて利用したsupabaseで出会ったエラーに時間を費やしたので共有します。
設定内容
このテーブルのusernameにnot-null制約の設定をしていました。
実装内容
実装内容は次の通りです。
const { error: updateError } = await supabase
.from('profiles')
.upsert({
id: session.user.id,
avatar_url: publicUrl,
updated_at: new Date().toISOString(),
});
エラー
既に存在するレコードに対してupsertした際に、既に値が入っているカラムに対してnot-null エラーが発生する事象に遭遇しました。
null value in column \"username\" of relation \"profiles\" violates not-null constraint
解決策
対象のカラムのデフォルト値を空の文字列にすることで解決しました。
※下記画像のset as empty string を選択する
補足
当事象はGithubでissuesとして報告されていましたので、いつかは解決される問題なのかもしれません。
さいごに
最後まで閲覧いただきありがとうございます。
Discussion