Skip to content

数据库

适用对象

给新增表、迁移脚本、生成器落库和启动失败排查使用。

关键约定(摘要)

  • 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
环境配置中的 datasourceoars-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-config in application.yml

待确认事项

  • 上线后 baseline 冻结时间点需要团队确认。
  • 生成器自动执行 SQL 的环境边界需要区分本地、测试和生产。