docs: 新增 Flyway 使用指南 + 铁律

- 新增 docs/FLYWAY_USAGE_GUIDE.md (326行完整使用指南)
- AGENTS.md 新增铁律: 数据库变更必须通过 Flyway 迁移
  - 禁止直接执行 DDL 而不创建迁移文件
  - 禁止修改已执行的迁移文件
  - 新表必须包含租户/审计/软删除字段
This commit is contained in:
2026-06-04 14:46:37 +08:00
parent b5d838c509
commit 56ec755cf3
2 changed files with 336 additions and 0 deletions

View File

@@ -189,6 +189,16 @@ Harness: .harness/ (init.sh, PROGRESS.md, feature_list.json, ...)
⑤ 统计数据:检查聚合 SQL → 确认统计包含新状态
```
### 数据库变更必须通过 Flyway 迁移(铁律)
凡涉及**新建表新增字段修改字段加索引** DDL 变更**必须**通过 Flyway 框架实现
1. `openhis-server-new/openhis-application/src/main/resources/db/migration/` 创建 `V{n}__描述.sql`
2. 版本号递增`V2`, `V3`, `V4`...双下划线分隔
3. **禁止**直接在数据库执行 DDL 而不创建迁移文件
4. **禁止**修改已执行的迁移文件Flyway 会校验 checksum
5. 新表必须包含`tenant_id`, `create_by`, `create_time`, `update_by`, `update_time`, `valid_flag`
6. 多租户表还需在 `MybatisPlusConfig.java` `TENANT_TABLES` 中注册
7. 详细使用指南见 `docs/FLYWAY_USAGE_GUIDE.md`
### 禁止修改已有公开方法签名
- 不能删除或重命名已有的 public 方法
- 不能修改已有方法的参数列表