优化
This commit is contained in:
@@ -60,6 +60,30 @@
|
||||
- 模块 `src/main/resources/db/` 用作结构来源和开发追溯,不是区域部署前置;不再向历史迁移文件追加发布步骤。修改当前字段时同步模块有效建表定义及其合同。
|
||||
- 不在 SQL 中写入真实客户数据、环境地址、固定密码或 Token。
|
||||
|
||||
## 后续迁移工具(已开始实施)
|
||||
|
||||
机制启用前,以上两份统一 SQL 仍是空库初始化的唯一入口;本节工具不会修改已有数据库,也不会把当前可丢弃的开发/测试存量转换成迁移链。
|
||||
|
||||
迁移范围映射位于 `migration-scopes.json`,按区域、schema、所属服务和顺序登记。迁移文件位于 `migrations/{cn|overseas}/<schema>/`,一个文件只允许修改一个 schema。目录中的 `.gitkeep` 仅用于保留空目录,不是迁移文件。
|
||||
|
||||
完整操作请先读 [数据库迁移操作手册](数据库迁移操作手册.md)。离线入口为 `scripts/db-migrations.mjs`:
|
||||
|
||||
```powershell
|
||||
# 自动取得该 schema 的下一个整数序号并创建草稿;不连接数据库
|
||||
node deploy/sql/scripts/db-migrations.mjs new --region CN --schema baiyue_auth --description add_login_audit
|
||||
|
||||
# 校验范围、文件名、跨 schema 引用及受保护文件;不连接数据库
|
||||
node deploy/sql/scripts/db-migrations.mjs check
|
||||
|
||||
# 由选中服务自动生成逐库目标和 SQL 哈希;不手填发布 JSON
|
||||
node deploy/sql/scripts/db-migrations.mjs plan --services auth,iam --regions CN --out release-manifest.json
|
||||
|
||||
# 当前只提供安全的只读计划;实际 Flyway 执行需后续阶段显式配置并授权
|
||||
node deploy/sql/scripts/db-migrations.mjs run --manifest release-manifest.json --dry-run
|
||||
```
|
||||
|
||||
`new` 使用独占创建避免并发覆盖;成功历史或已冻结制品不能由普通命令改写。`plan` 只打包选中服务及评审确认的 schema,不会因为同一提交存在其他区域或服务 SQL 就自动扩大范围。`run` 的真实执行还未接入测试数据库和 Jenkins,当前未授权任何部署或 SQL 操作。
|
||||
|
||||
## 本地验证
|
||||
|
||||
离线合同不连接数据库:
|
||||
|
||||
Reference in New Issue
Block a user