我在 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
我的应用程序使用 Supabase 客户端进行连接:
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)
我用来访问数据的 API 调用是:
async function getData(req, res) {
try {
let { data, error, status } = await supabase
.from('users')
.select()
if (data) {
res.status(200).json({ data })
}
} catch (error) {
res.send(error)
}
}
以防万一与托管的 Supbase 数据库使用的用户表发生某种命名冲突,我也尝试了上面的accounts
表,但这没有任何影响。