docs(scripts): organize sql files under 创建sql
This commit is contained in:
@@ -0,0 +1,169 @@
|
||||
# SQL 脚本目录说明
|
||||
|
||||
本目录统一存放数据库相关 SQL,避免根目录下脚本分散。
|
||||
|
||||
## 命名约定
|
||||
|
||||
- `schema_*`:建表、补字段、补索引、结构补丁
|
||||
- `seed_*`:初始化数据、菜单、权限、路由种子
|
||||
- `precheck_*`:正式迁移/删表前的只读巡检脚本
|
||||
- `migrate_*`:数据迁移、历史结构升级
|
||||
- `*_patch.sql`:补丁脚本
|
||||
- `*_audit.sql`:审计/巡检类脚本
|
||||
|
||||
## 推荐执行方式
|
||||
|
||||
执行生产脚本时建议统一带上 `ON_ERROR_STOP=1`:
|
||||
|
||||
```bash
|
||||
psql -h <host> -U <user> -d <db_name> -v ON_ERROR_STOP=1 -f scripts/创建sql/<file>.sql
|
||||
```
|
||||
|
||||
## 按模块分类
|
||||
|
||||
### 一、系统使用统计
|
||||
|
||||
- `schema_add_usage_stats.sql`
|
||||
- 用途:补齐系统使用统计需要的库结构
|
||||
- 主要内容:新增 `usage_login_events`、给 `sso_users` 增加 `last_login_at`、补 `leaudit_audit_runs.trigger_user_id` 统计索引
|
||||
- 场景:上线“系统使用统计”后端接口前必跑
|
||||
|
||||
- `seed_usage_stats_rbac.sql`
|
||||
- 用途:补齐“系统使用统计”菜单、权限点、角色授权
|
||||
- 主要内容:新增 `/usage-stats` 路由、`usage_stats:*` 权限、给 `super_admin` / `provincial_admin` / `admin` 赋权
|
||||
- 场景:库结构准备完成后执行
|
||||
|
||||
推荐顺序:
|
||||
|
||||
1. `schema_add_usage_stats.sql`
|
||||
2. `seed_usage_stats_rbac.sql`
|
||||
|
||||
### 二、用户 / RBAC / 地区权限
|
||||
|
||||
- `user_rbac_schema_patch.sql`
|
||||
- 用途:补齐用户、角色、权限、路由核心表结构
|
||||
- 场景:新库初始化或旧库尚未具备 RBAC 基础表时
|
||||
|
||||
- `user_rbac_seed.sql`
|
||||
- 用途:初始化基础角色、权限、路由种子
|
||||
- 依赖:`user_rbac_schema_patch.sql`
|
||||
|
||||
- `user_rbac_comments_patch.sql`
|
||||
- 用途:补充 RBAC 相关表和字段中文注释
|
||||
|
||||
- `user_rbac_migration_audit.sql`
|
||||
- 用途:老系统迁移前数据审计
|
||||
- 场景:检查空地区、脏角色、重复账号、无角色用户等风险
|
||||
|
||||
常见顺序:
|
||||
|
||||
1. `user_rbac_schema_patch.sql`
|
||||
2. `user_rbac_seed.sql`
|
||||
3. `user_rbac_comments_patch.sql`
|
||||
4. `user_rbac_migration_audit.sql`(按需执行)
|
||||
|
||||
### 三、首页入口 / 文档类型 / 前端路由
|
||||
|
||||
- `schema_v2_add_evaluation_tables.sql`
|
||||
- 用途:补充入口模块、文档类型及相关结构
|
||||
|
||||
- `seed_home_entry_modules.sql`
|
||||
- 用途:初始化首页入口模块并绑定既有文档类型
|
||||
|
||||
- `seed_frontend_route_scope.sql`
|
||||
- 用途:补齐前端真实菜单树仍需暴露的路由范围
|
||||
|
||||
常见顺序:
|
||||
|
||||
1. `schema_v2_add_evaluation_tables.sql`
|
||||
2. `seed_home_entry_modules.sql`
|
||||
3. `seed_frontend_route_scope.sql`
|
||||
|
||||
### 四、评查点分组迁移
|
||||
|
||||
- `precheck_rule_group_migration.sql`
|
||||
- 用途:正式迁移前巡检当前分组树、规则集绑定、入口模块映射
|
||||
- 特点:只读,不改数据
|
||||
|
||||
- `migrate_rule_groups_to_business_roots.sql`
|
||||
- 用途:按“业务大类根”做正式迁移
|
||||
- 说明:当前正式迁移入口脚本
|
||||
|
||||
- `migrate_rule_groups_to_doc_type_roots.sql`
|
||||
- 用途:历史草案保留
|
||||
- 说明:已废弃,仅兼容历史引用,请改用 `migrate_rule_groups_to_business_roots.sql`
|
||||
|
||||
- `seed_rule_groups_rbac.sql`
|
||||
- 用途:补齐评查点分组页面与接口的 RBAC 权限
|
||||
|
||||
- `seed_evaluation_points_rbac.sql`
|
||||
- 用途:补齐规则/评查点相关权限点
|
||||
|
||||
推荐顺序:
|
||||
|
||||
1. `precheck_rule_group_migration.sql`
|
||||
2. `migrate_rule_groups_to_business_roots.sql`
|
||||
3. `seed_rule_groups_rbac.sql`
|
||||
4. `seed_evaluation_points_rbac.sql`
|
||||
|
||||
### 五、旧绑定下线检查
|
||||
|
||||
- `precheck_drop_legacy_rule_type_bindings.sql`
|
||||
- 用途:删除 `leaudit_rule_type_bindings` 前做覆盖率和风险检查
|
||||
- 特点:只读,不删除数据
|
||||
|
||||
### 六、交叉评查
|
||||
|
||||
- `schema_v3_add_cross_review_phase1.sql`
|
||||
- 用途:交叉评查第一阶段表结构
|
||||
|
||||
- `seed_cross_review_phase1_permissions.sql`
|
||||
- 用途:交叉评查第一阶段权限种子
|
||||
|
||||
推荐顺序:
|
||||
|
||||
1. `schema_v3_add_cross_review_phase1.sql`
|
||||
2. `seed_cross_review_phase1_permissions.sql`
|
||||
|
||||
### 七、RAG
|
||||
|
||||
- `schema_add_rag_chat.sql`
|
||||
- 用途:RAG 数据集、会话等相关结构初始化/补充
|
||||
|
||||
### 八、文档版本管理
|
||||
|
||||
- `migrate_20260429_document_versioning.sql`
|
||||
- 用途:给 `leaudit_documents` 补齐版本归档能力
|
||||
- 主要内容:增加版本链字段、归一化名称、历史数据回填
|
||||
|
||||
## 快速索引
|
||||
|
||||
### 新环境最小起步
|
||||
|
||||
1. `user_rbac_schema_patch.sql`
|
||||
2. `user_rbac_seed.sql`
|
||||
3. `schema_v2_add_evaluation_tables.sql`
|
||||
4. `seed_home_entry_modules.sql`
|
||||
|
||||
### 系统使用统计上线
|
||||
|
||||
1. `schema_add_usage_stats.sql`
|
||||
2. `seed_usage_stats_rbac.sql`
|
||||
|
||||
### 评查点分组迁移
|
||||
|
||||
1. `precheck_rule_group_migration.sql`
|
||||
2. `migrate_rule_groups_to_business_roots.sql`
|
||||
3. `seed_rule_groups_rbac.sql`
|
||||
|
||||
### 交叉评查一期上线
|
||||
|
||||
1. `schema_v3_add_cross_review_phase1.sql`
|
||||
2. `seed_cross_review_phase1_permissions.sql`
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 生产执行前先备份,尤其是 `migrate_*` 和 `schema_*` 脚本
|
||||
- `precheck_*` 为只读脚本,适合上线前先跑一遍
|
||||
- `seed_*` 通常按幂等方式写,但仍建议先在测试/预发验证
|
||||
- 当前仓库文档和脚本引用已统一迁移到 `scripts/创建sql/`,后续新增 SQL 也请继续放这里
|
||||
Reference in New Issue
Block a user