Supabase错误:必须是序列refresh_tokens_id_seq的所有者

编程语言 2026-07-11

我正在为我的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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章