首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从supabase js客户端访问自定义模式?

如何从supabase js客户端访问自定义模式?
EN

Stack Overflow用户
提问于 2022-08-08 17:39:10
回答 1查看 702关注 0票数 4

我喜欢Supabase,但是我们的团队需要使用PostgreSQL提供的模式功能--不幸的是,到目前为止,我们一直未能成功地使模式工作。

其他信息:

  • PostgreSQL 14
  • 最新版本的Supabase JS的
  • 我们有supabase的plan

托管

我们尝试过的:

  1. 我们创建了一个新模式并添加了对所有类型身份验证的访问(为什么所有?我们首先认为authentication):

可能有一个错误

代码语言:javascript
复制
CREATE SCHEMA Brano;
GRANT USAGE ON SCHEMA Brano TO postgres, anon, authenticated, service_role, dashboard_user;

  1. 通过以下设置向API公开架构:

  1. 尝试了以下代码:

代码语言:javascript
复制
var options = {
    schema: 'brano'
}

const supabaseUrl = 'supabaseUrl'
const supabaseKey = 'supabaseKey'
const supabaseClient = createClient(supabaseUrl, supabaseKey, options);

const { data, error } = await supabaseClient
    .from('test_brano')
    .insert([{
        data: 123
}]);

  1. 得到了以下错误:

代码语言:javascript
复制
{
"message":"permission denied for table test_brano",
"code":"42501",
"details":null,
"hint":null
}

我们尝试阅读的链接和文档(不幸的是,我们没有以任何方式使其工作):

我们漏掉了什么吗?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-08 18:29:51

您已经向架构授予了使用权限,但还需要授予操作才能插入/选择数据:

e.g

代码语言:javascript
复制
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA brano TO postgres, authenticated, service_role, dashboard_user, anon;

然后,您可以像在您的示例中那样调用:

代码语言:javascript
复制
const options = {
  schema: 'brano'
}
const supabase = createClient(supabaseUrl, SUPABASE_KEY, options)
const d = new Date(2018, 11, 24, 10, 33, 30, 0);
const { data, error } = await supabase
  .from('test_brano')
  .insert([
    { data: 3, created_at: d }
  ])
console.log(data)
if (error) {
    console.log("error getting results");
    throw error;
}

注意:我没有在上面的命令中包含anon角色。根据用例的不同,您可能希望在其中包含此角色。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73281996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档