ska最近将本地服务器数据库进行了升级,发现了一些问题,导致drizzle无法push了。

报错信息

根据报错信息,经过一番查询得知是PGSQL在新版本收缩了普通用户的权限。

~/skaBot/ska-core cursor/pgsql-1f87 +1 !2 ❯ bun run db:push
$ drizzle-kit push
No config path provided, using default 'drizzle.config.ts'
Reading config file '/home/zhouzihao/skaBot/ska-core/drizzle.config.ts'
Reading schema files:
/home/ska/skaBot/ska-core/db/schema.ts
/home/ska/skaBot/ska-core/db/auth-schema.ts

Using 'pg' driver for database querying
[✓] Pulling schema from database...

┌── query error: permission denied for schema public

└──
error: script "db:push" exited with code 1

解决方法

方法一:

  1. 以root权限登录数据库

  2. 执行:

ALTER DATABASE "数据库名" OWNER TO "用户名";

方法二:

  1. 以root权限登录数据库

  2. 执行:

GRANT USAGE ON SCHEMA public TO "用户名";