1

ロール レベル ポリシーが有効になっている行を更新できません

私のテーブルには、次のように挿入と更新に関する行レベルのポリシーがあります。

create policy "Allow individual insert access" on public.quotes for insert with check ( auth.uid() = created_by );

create policy "Allow individual update access" on public.quotes for update with check ( auth.uid() = created_by );

ユーザーがログインすると、私の挿入機能は正常に機能します。

export const addQuote = async (user_id, content) => {
try {
let body = await supabase
  .from("quotes")
  .insert([{ created_by: user_id, content: content }]);
return body;
} catch (error) {
console.log("error", error);
}
};

私の更新機能は、行レベルのポリシーなしで正常に動作します:

export const updateQuote = async (quote_id, user_id, new_content) => {
try {
let body = await supabase
  .from("quotes")
  .update([{ created_by: user_id, content: new_content }])
  .eq("id", quote_id);
return body;
} catch (error) {
console.log("error in updateQuote", error);
}
};

しかし、RLS をオンにすると、応答は 404 になり、行は更新されません。

ここで何が欠けていますか?

4

2 に答える 2