ロール レベル ポリシーが有効になっている行を更新できません
私のテーブルには、次のように挿入と更新に関する行レベルのポリシーがあります。
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 になり、行は更新されません。
ここで何が欠けていますか?