laobinghu 37742571ae feat: 完成项目初始化并重构部署流程
主要变更:
- 添加完整的项目结构和模块(admin、articles、comments、users、session、oauth2、email、moderation、analytics、jobs 等)
- 实现系统初始化 API(/init/status 和 /init/run)
- 重写部署流程:迁移到 package.json scripts,删除 Makefile
- 优化部署脚本:deploy.sh、healthcheck.sh、backup.sh、restore.sh、verify-env.sh
- 更新 README.md:简化文档,整合部署指南
- 优化 AGENTS.md:精简到约 150 行,包含完整的代码规范和命令速查
- 配置 Docker Compose 自动化部署(prisma migrate deploy + seed)
- 生成 OAuth2 RSA 密钥对支持
- 添加环境变量验证和数据库备份恢复功能
2026-03-28 16:53:25 +08:00

30 lines
1021 B
SQL

-- ============================================
-- LinkShare Blog - 数据库初始化脚本
-- ============================================
-- 用途: 在 PostgreSQL 首次启动时创建必要扩展和配置
-- 自动由 docker-compose 执行
-- 创建 pgcrypto 扩展 (用于密码哈希等)
CREATE EXTENSION IF NOT EXISTS pgcrypto;
-- 创建 uuid-ossp 扩展 (如果使用 UUID)
-- CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
-- 设置时区
SET timezone = 'UTC';
-- 创建性能优化索引 (将在 Prisma 迁移后创建)
-- 这些索引可以在迁移文件中定义,这里作为补充
-- 示例: 为常用查询字段创建索引
-- 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");
-- 输出完成信息
DO $$
BEGIN
RAISE NOTICE 'Database initialization completed successfully!';
RAISE NOTICE 'Extensions: pgcrypto';
END $$;