Supabase错误:必须是序列refresh_tokens_id_seq的所有者
我正在为我的Jest测试环境尝试重置我的Supabase auth.users 表,但在运行以下代码时遇到了这个错误:
await db.query(`TRUNCATE TABLE auth.users RESTART IDENTITY CASCADE;`)
-
Supabase error: must be owner of sequence refresh_tokens_id_seq
如何在不再遇到这个错误的情况下重置我的 auth.users 表?
以下是我的完整代码片段:
import { Client } from 'pg'
async function createDbClient() {
const client = new Client({
connectionString: process.env.DATABASE_URL
})
await client.connect()
return client
}
export async function resetAuth() {
const db = await createDbClient()
await db.query(`TRUNCATE TABLE auth.users RESTART IDENTITY CASCADE;`)
}
解决方案
不要对你的数据库查询使用TRUNCATE,而应该像下面这样使用DELETE:
await db.query(`DELETE FROM auth.users;`)
基本上 TRUNCATE TABLE auth.users RESTART IDENTITY CASCADE 需要提升权限,因此使用DELETE可以绕过这些权限问题。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。