docs(workbench): gate database rollout by project

This commit is contained in:
2026-09-24 10:13:52 +08:00
parent ed06bc2bfc
commit 91afe76c6d
4 changed files with 88 additions and 9 deletions
+10 -2
View File
@@ -44,11 +44,19 @@
## 数据库部署
对每个项目 BizDB 应用:
数据库变更遵循 [`workbench-database-rollout.md`](workbench-database-rollout.md)。后续默认只在 `tjwater_v2` 应用,验证通过并由维护者明确确认后,再逐库扩展。不要从 Metadata DB 枚举所有活跃项目并批量写入。
应用前确认当前 DSN 指向 `tjwater_v2`:
```bash
test "$(psql "$PROJECT_BIZ_DSN" -XAtc 'select current_database()')" = "tjwater_v2"
```
完成备份和回滚演练后,再应用:
```bash
psql "$PROJECT_BIZ_DSN" -v ON_ERROR_STOP=1 -f resources/sql/014_operational_tasks.sql
psql "$PROJECT_BIZ_DSN" -v ON_ERROR_STOP=1 -f resources/sql/015_workbench_events_and_task_runs.sql
```
迁移不会创建或修改外围系统的业务表,也不授予 `PUBLIC` 权限。生产运行前需按部署身份显式授予新表权限。
迁移不会创建或修改外围系统的业务表,也不授予 `PUBLIC` 权限。生产运行前需按部署身份显式授予新表权限。SQL 文件包含自己的事务边界,不能把外层 `ROLLBACK` 当作演练;具体要求见数据库变更门禁。