Supabase 删除无法通过 javascript 客户端 api 和 postman 工作

问题描述 投票:0回答:1

我正在尝试通过 javascript 客户端 api 删除 supabase 表中的一行(稍后也尝试过邮递员)。 Supabase 通过 docker 在远程服务器上运行。我正在使用 Next.js,但出于测试目的,所有缓存已暂时禁用,因此问题不可能出在那里。

奇怪的是,添加和修改行是有效的。只有删除失败。

  const { data, error } = await supabase.from("menus").delete().eq("id", "1");

  if (error) {
    console.error("Error deleting row:", error);
  } else {
    console.log("Row deleted:", data);
  }
  console.error(error);

根据文档,上述内容应该有效(存在 id=1 的行)。相反,它返回: failed fetch

RLS 已禁用。我尝试同时使用 anon 密钥和 service_role 密钥,但没有成功。这两个角色都被授予超级用户权限。还授予他们删除数据的权限。 as stated above, the role has the correct perms.

我显然检查了网络和所有最常见的修复,但没有任何效果。

编辑

表定义: enter image description here

next.js delete-row supabase-js
1个回答
0
投票

我遇到了同样的问题,结果是,如果您启用了 RLS 策略,并且使用删除策略,您还需要在选择上创建策略。我猜逻辑是,如果无法读取数据,他们也无法删除它。

© www.soinside.com 2019 - 2024. All rights reserved.