标签: supabase

错误:supabaseUrl 是必需的 (supabase) postgresql

我正在在线使用supabase postgresql,其中重要的是创建一个.env文件,其中保存了我的在线DMBS的URL和匿名密钥,还创建了一个“supabase客户端”文件来访问DBMS和表,并在其中导入“supabase客户端”需要文件。我已经完成了他们文档中的所有相同操作,但仍然面临错误“错误:需要supabaseUrl”,但我已经输入了网址。

..................代码............................... ……

import React, { useState } from 'react'
import './App'
import Login from './Login';
import { BrowserRouter as Router, Route, Link, NavLink, Switch } from 'react-router-dom';
import {supabase} from './supabaseClient';

return(
    <>
    <div className="container" >
        <div className="heading">
            <h1>SignUp Form</h1>
        </div>

    <form>
    <Router>
        <div className="mb-3">
            <label  className="flabel">Name</label>
            <input type="text" className="fcontrol" placeholder="Enter Your Name"/>
        </div>
        <div className="mb-3">
            <label  className="flabel">Phone</label>
            <input type="tel"  className="fcontrol" placeholder="Enter Your Phone Number"/>
        </div>
        <div className="mb-3">
            <label  className="flabel">Email</label>
            <input type="email"  className="fcontrol" placeholder="Enter Your Email"/>
        </div>
        <div …
Run Code Online (Sandbox Code Playgroud)

database postgresql error-handling reactjs supabase

6
推荐指数
2
解决办法
2万
查看次数

Supabase:如何通过电子邮件查询用户?

我在 Node JS 中间件中使用 Supabase。我正在开发一个邀请功能,该功能通过 REST 端点接收现有 supabase 用户的电子邮件地址。现在它应该查询用户表以获得用户 ID。但这似乎不起作用:

(我使用 Supabase JavaScript 库和绕过行级安全性的管理密钥):

const { createClient,   } = require('@supabase/supabase-js')
const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_KEY)
supabase
  .from('users')
  .select('id')
  .eq('email', 'doe@example.com')
  .then(response => {
    console.log(response)
  })
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

'关系“public.users”不存在'

我也尝试过查询

supabase
  .from('users')
  .select('id')
  .eq('email', 'doe@example.com')
  .then(response => {
    console.log(response)
  })
Run Code Online (Sandbox Code Playgroud)

但这也失败了。貌似无法查询users表。

我究竟做错了什么?如何通过给定的电子邮件查询用户 ID?

有人能把我推向正确的方向吗?

谢谢,

尼科

postgresql node.js supabase

6
推荐指数
2
解决办法
7401
查看次数

使用 DataGrip 在本地运行 Supabase,“关系“public.users”不存在”

我在 MacOS 上使用 Docker 在本地运行 Supabase。我使用 Supabase 初始化了 Next.js 项目,并将本地创建的数据库连接到 JetBrains DataGrip。我可以毫无问题地查看和调整 DataGrip 中的数据。但是当我尝试从应用程序的 API 查询数据时,出现错误'relation "public.users" does not exist'

但是,users我的表位于公共模式内。所以当我尝试使用 API 访问它时,我不太确定为什么它不存在。

在DataGrip中,我的数据库文件结构是:

postgres@localhost > postgres > schemas > public > tables > users
Run Code Online (Sandbox Code Playgroud)

我的应用程序使用 Supabase 客户端进行连接:

postgres@localhost > postgres > schemas > public > tables > users
Run Code Online (Sandbox Code Playgroud)

我用来访问数据的 API 调用是:

import { createClient } from '@supabase/supabase-js'

const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL
const supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY

export const supabase = createClient(supabaseUrl, supabaseAnonKey)
Run Code Online (Sandbox Code Playgroud)

为了防止与托管 Supabase 数据库使用的用户表发生某种命名冲突,我也对表进行了上述操作accounts,但这没有任何影响。

postgresql datagrip supabase

6
推荐指数
0
解决办法
1863
查看次数

无法插入到 Supabase 中具有经过身份验证的角色策略的表

我正在尝试在启用了 RLS 的表中插入一行Enable insert for authenticated users only添加了策略。不幸的是,即使我正确登录,我也无法插入。

重现步骤:

  1. 创建提交表
create table submission (
  stuff text
);
Run Code Online (Sandbox Code Playgroud)
  1. 启用 RLS
alter table submissions
  enable row level security
Run Code Online (Sandbox Code Playgroud)
  1. 添加策略
CREATE POLICY "Enable insert for authenticated users only" ON public.submissions FOR INSERT WITH CHECK (auth.role() = 'authenticated');
Run Code Online (Sandbox Code Playgroud)
  1. 在客户端上,我使用魔术链接登录(该对象已正确添加到本地存储中,因此我知道我正在登录)

  2. 我尝试插入

const { data, error } = await supabase
 .from("submissions")
 .insert({ stuff: 'hello' });
Run Code Online (Sandbox Code Playgroud)

Authorization Bearer <Jwt>存在于 http 调用中。

  1. 但我得到了错误
{
  "hint":null,
  "message":"new row violates row-level security policy for table \"submissions\"", …
Run Code Online (Sandbox Code Playgroud)

supabase

6
推荐指数
1
解决办法
3299
查看次数

PostgREST - 在插入时添加经过身份验证的用户 ID

我需要在其中一列中自动添加插入行的作者。我正在使用 postgREST (使用 Supabase 云服务),并且我不希望用户添加他们想要的任何人作为作者。有没有办法自动添加发布数据的用户的用户ID?谢谢!

postgresql postgrest supabase supabase-database

6
推荐指数
2
解决办法
2262
查看次数

一对一外键的supabase查询,返回单个值(不是数组)

如何在supabase中查询与外键的一对一关系?

我的桌子:

  1. 游戏(id、created_at、played_at)
  2. 结果(游戏 ID、密钥)

数据:游戏

("id": 1, "created_at": "2022-03-02T11:01:11+00:00", "played_at": "2022-04-02T12:15:06+00:00")
Run Code Online (Sandbox Code Playgroud)

数据:结果

("game_id": 1, "key": "alyktm3cf11bypgg")
Run Code Online (Sandbox Code Playgroud)

我的 SUPABASE 查询如下所示:

    const { data, error } = await supabase
        .from('games')
        .select('*, registrations(walletKey), results(key)')
        .order('scheduled_at')
    ;
Run Code Online (Sandbox Code Playgroud)

结果包含一系列注册,如下所示:

{
    "id": 1,
    "created_at": "2022-03-02T11:01:11+00:00",
    "played_at": "2022-04-02T12:15:06+00:00",
    "results": [
        {
            "key": "alyktm3cf11bypgg"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

但由于总是只有一个结果,我可以修改我的查询来获得这个结果吗?

{
    "id": 1,
    "created_at": "2022-03-02T11:01:11+00:00",
    "played_at": "2022-04-02T12:15:06+00:00",
    "results": 
    {
        "key": "alyktm3cf11bypgg"
    }

}
Run Code Online (Sandbox Code Playgroud)

甚至是这个:

{
    "id": 1,
    "created_at": "2022-03-02T11:01:11+00:00",
    "played_at": "2022-04-02T12:15:06+00:00",
    "key": "alyktm3cf11bypgg"
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs supabase supabase-database

6
推荐指数
1
解决办法
2582
查看次数

在 Supabase 中哪里可以找到 graphiql 浏览器?

您知道在哪里以及如何使用 graphiql 资源管理器来查看我的架构并使用 Supabase 执行一些 graphql 请求吗?

graphql supabase

6
推荐指数
1
解决办法
1178
查看次数

错误:获取配置:无法在 Prisma 和 nextjs 中建立与 query-engine-node-api 库的连接

我使用带有 Prisma 和 supabase 数据库的 nextjs 新项目。我用的是ubuntu。

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04 LTS
Release:    22.04
Codename:   jammy
Run Code Online (Sandbox Code Playgroud)

当我在项目中运行 Prisma Push 并生成命令时。我在 npm 和yarn 中遇到同样的错误。我运行所有 Prisma 命令。我从一个新的 SUPABASE 数据库开始。

prisma migrate dev
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Error: Get config: Unable to establish a connection to query-engine-node-api library

Prisma CLI Version : 3.15.2
Run Code Online (Sandbox Code Playgroud)
 npx prisma db push
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Error: Get config: …
Run Code Online (Sandbox Code Playgroud)

postgresql next.js prisma supabase supabase-database

6
推荐指数
1
解决办法
6461
查看次数

Deno / Postgres“无效的对等证书内容:无效的对等证书”错误

我正在使用denodb 连接到 supabase postgres 服务器。

这是 deno 部署时出现的错误。

TLS 连接失败,并显示消息:无效的对等证书内容:无效的对等证书:UnsupportedCertVersion 默认为非加密连接

在此输入图像描述

在这里建立连接:

import { Database, PostgresConnector } from "https://deno.land/x/denodb/mod.ts";
import "https://deno.land/x/dotenv/load.ts";

export const connection = (() => {
  const DENODB_PGURL = Deno.env.get('DENODB_PGURL');

  if (DENODB_PGURL) {
    return new PostgresConnector({uri: DENODB_PGURL});  
  }

  const DENODB_HOST = Deno.env.get('DENODB_HOST');
  if (!DENODB_HOST) throw new Error('DENODB_HOST is not set');
  const DENODB_USERNAME = Deno.env.get('DENODB_USERNAME');
  if (!DENODB_USERNAME) throw new Error('DENODB_USERNAME is not set');
  const DENODB_PASSWORD = Deno.env.get('DENODB_HOST');
  if (!DENODB_PASSWORD) throw new Error('DENODB_PASSWORD is not set');
  const DENODB_DATABASE …
Run Code Online (Sandbox Code Playgroud)

postgresql deno tls1.3 supabase deno-deploy

6
推荐指数
1
解决办法
1598
查看次数

Supabase signup() 失败 - 不允许注册

我正在尝试使用电子邮件/密码注册新用户。我处于免费套餐,并且相信我已经进行了必要的设置。

颤振代码是:

Supabase.instance.client.auth.signUp(
    email: 'abcde@gmail.com',
    password: 'password',
);
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

Signups not allowed for this instance
Run Code Online (Sandbox Code Playgroud)

我应该检查/设置什么?

supabase

6
推荐指数
1
解决办法
2139
查看次数