fix: 修复 PostgreSQL 权限问题
- 为 blog 用户授予 public 模式的完整权限 - 添加默认权限配置,确保未来创建的表自动授权 - 解决 'permission denied for schema public' 错误
This commit is contained in:
parent
37742571ae
commit
51018b924e
@ -7,23 +7,25 @@
|
||||
-- 创建 pgcrypto 扩展 (用于密码哈希等)
|
||||
CREATE EXTENSION IF NOT EXISTS pgcrypto;
|
||||
|
||||
-- 创建 uuid-ossp 扩展 (如果使用 UUID)
|
||||
-- CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
||||
|
||||
-- 设置时区
|
||||
SET timezone = 'UTC';
|
||||
|
||||
-- 创建性能优化索引 (将在 Prisma 迁移后创建)
|
||||
-- 这些索引可以在迁移文件中定义,这里作为补充
|
||||
-- 授予 blog 用户对 public 模式的所有权限
|
||||
-- 这是必要的,因为 Prisma 需要创建表、索引等
|
||||
GRANT ALL PRIVILEGES ON SCHEMA public TO blog;
|
||||
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO blog;
|
||||
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO blog;
|
||||
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO blog;
|
||||
|
||||
-- 示例: 为常用查询字段创建索引
|
||||
-- CREATE INDEX IF NOT EXISTS idx_user_email ON "User"(email);
|
||||
-- CREATE INDEX IF NOT EXISTS idx_article_slug ON "Article"(slug);
|
||||
-- CREATE INDEX IF NOT EXISTS idx_comment_article_status ON "Comment"("articleId", "status");
|
||||
-- 确保未来的表也继承权限
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO blog;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO blog;
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON FUNCTIONS TO blog;
|
||||
|
||||
-- 输出完成信息
|
||||
DO $$
|
||||
BEGIN
|
||||
RAISE NOTICE 'Database initialization completed successfully!';
|
||||
RAISE NOTICE 'Extensions: pgcrypto';
|
||||
RAISE NOTICE 'Permissions granted to user: blog';
|
||||
END $$;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user