Appearance
数据库
适用对象
给新增表、迁移脚本、生成器落库和启动失败排查使用。
关键约定(摘要)
- Flyway 资源统一由
oars-migration提供,oars-app通过依赖加载。 - 默认:单数据源(HikariCP)+ Flyway;ShardingSphere 分片/读写分离为可选能力(
oars-app/pom.xml依赖默认未引入,见 L2)。 - 当前 baseline 是
V20260428193000__baseline.sql。 - 新迁移命名使用
VyyyyMMddHHmmss__domain_action.sql,版本号全库唯一。 - 已被执行过的迁移不要改内容或改名,新增 forward migration 修复。
baseline-on-migrate: true用于已有表但无历史表的本地库;out-of-order: true允许合并后补跑较早时间戳脚本。- MyBatis Plus 当前关闭下划线转驼峰:数据库列名需和 Java 字段名约定一致。
- 表单 physical 表 DDL 业务规则见
docs/form-designer-architecture.md§13.13(L1),Flyway 通用纪律见 L2。
L2 详细说明(monorepo)
| 主题 | 文档 |
|---|---|
| 数据源 / 多数据源 / 分库分表 | oars-java/DATABASE-GUIDE.md |
| Flyway 基线与命名 | oars-java/oars-migration/README.md |
| 国产库驱动 | oars-java/INSTALL-NATIVE-DB-DRIVERS.md |
| 环境配置中的 datasource | oars-java/CONFIG.md |
oars-docs 交付/排障摘要:迁移升级、Flyway 排障、数据库运维。
实现位置
- Flyway 配置:
oars-java/oars-app/src/main/resources/application.yml - 迁移 SQL:
oars-java/oars-migration/src/main/resources/db/migration - 旧脚本审计:
oars-java/oars-migration/archive/pre-baseline-20260428 - 逻辑删除配置:
mybatis-plus.global-config.db-configinapplication.yml
待确认事项
- 上线后 baseline 冻结时间点需要团队确认。
- 生成器自动执行 SQL 的环境边界需要区分本地、测试和生产。
