获取方案

数据库迁移与历史保护

迁移按业务域与数据库vendor归档,已发布历史保持原样;新增变更用新迁移验证旧数据保留。

文档导航
本页目录

迁移文件在哪里?

迁移资源归所属业务域,包含 SQL 与 Java Flyway 迁移;已发布迁移字节及 Java identity/checksum 需要保留,运行与迁移角色分开。

域的 infrastructure 资源目录保存SQL,部分数据初始化与结构处理由Java迁移承担。打包和移机时要一起保留,不能只搬SQL文件。迁移位置与单体装配的资源扫描也要核对。

cd backend
git ls-files '*/*-infrastructure/src/main/resources/db/migration/*'

该只读检索用于确认当前提交纳入的迁移文件;实际执行还需要目标vendor、独立迁移角色与环境授权。

为什么要保护历史字节?

数据库保存已执行迁移的身份与校验和。修改旧SQL或Java identity会造成历史无法解释,即使空库安装成功,已有数据库也可能拒绝或发生语义变化。修复应新增迁移,并记录前后数据条件。

运行与迁移角色怎样区分?

迁移角色负责结构变更,应用运行角色不授DDL。新数据库的安装检查与既有数据库升级检查分别记录;不能把运行时自动扩大权限作为常规处理。

PostgreSQL与MySQL怎样表述?

当前开发和交付检查主要围绕PostgreSQL,源码保留vendor迁移与可移植约束,但双库是否覆盖目标业务要按版本实际验证。不能因目录内有MySQL迁移便宣称全部业务已经双库验收。新迁移按当前版本开发约定核对vendor集合、类型和数据保留。