关于 055-design-parallel-change
面向 Java 企业开发者的交互式技能,用于设计数据库迁移。它帮助判断是否需要 Parallel Change,并规划兼容且可验证的部署步骤。
主要功能
- 01评估迁移兼容性需求
- 02设计扩展、迁移、收缩步骤
- 03规划回填与架构变更
- 04制定验证和清理方案
- 05转交框架专用 Flyway 技能
适用场景
- 01规划安全的列重命名
- 02评估零停机迁移
- 03设计回填与收缩部署
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jabrena/ plinth --skill 055-design-parallel-change安装后在 Claude Code 中输入/055-design-parallel-change确认已加载。
附带文件references/055-design-parallel-change.md
详细介绍
并行变更设计
指导 Java 企业开发者在数据库迁移场景中使用并行变更。这是一个交互式 SKILL。
此 Skill 涵盖哪些内容?
- 判断数据库迁移是否需要兼容窗口
- 将数据库变更按扩展、迁移和收缩划分为可部署步骤
- 在发布和回滚窗口期间保留旧版和新版应用
- 处理列重命名、类型或数据重新解释、大规模回填、关系表变更,以及索引或唯一性变更
- 说明权衡因素,例如临时双路径、额外迁移、验证工作量和延迟清理
- 在设计方案明确后,将框架特定的实现交由 Spring Boot、Quarkus 或 Micronaut Flyway 技能处理
约束
将并行变更用作数据库迁移设计模式;必要时,将实现细节交由框架特定的迁移技能处理。
- 必须在应用并行变更指导前阅读
references/055-design-parallel-change.md - 必须在建议使用并行变更时,将扩展、迁移和收缩说明为独立的可部署步骤
- 必须先判断是否需要并行变更,再建议框架特定的 Flyway 实现细节
- 必须在变更具有增量性、可立即安全应用且无需新旧应用版本共存时,建议采用更简单的单次迁移
- 必须说明所选方案在兼容性、数据保留、验证和清理方面的权衡
- 必须在选定迁移策略后,使用 Spring Boot、Quarkus 或 Micronaut 的框架特定 Flyway 技能处理实现细节
何时使用此技能
- 对此数据库迁移应用并行变更
- 对此架构变更使用扩展、迁移、收缩
- 规划安全的列重命名迁移
- 规划零停机数据库迁移
- 此 Flyway 迁移是否应使用并行变更?
- 设计安全的回填和收缩迁移
- 判断此架构变更是否需要兼容窗口
工作流
- 评估迁移风险
阅读 references/055-design-parallel-change.md,然后确定迁移涉及的架构形态、数据含义、应用读写路径、发布窗口、回滚预期和生产数据风险。
- 选择并行变更或更简单的迁移
当旧版和新版应用或数据解释必须共存时,建议采用并行变更。当变更具有增量性、规模较小、可立即安全应用且无需兼容窗口时,建议采用更简单的单向迁移。
- 设计扩展、迁移、收缩
对于并行变更,将扩展、迁移和收缩分为可独立部署的步骤。在扩展和迁移期间保持旧结构有效;只有在所有已部署代码和数据都转移到新结构后,才进行收缩。
- 规划验证和运维
定义前一版本的测试数据检查、行数预期、重复项检测、回填监控、回滚行为和清理责任。在可行时,优先使用生产数据库方言的迁移测试和类似生产环境的数据样本。
- 转交框架实现
策略明确后,使用 313-frameworks-spring-db-migrations-flyway、413-frameworks-quarkus-db-migrations-flyway 或 513-frameworks-micronaut-db-migrations-flyway 处理框架特定的 Flyway 依赖项、配置、迁移位置和测试。
- 报告迁移计划
报告所选方案、被否决的替代方案、扩展/迁移/收缩顺序或更简单的迁移、验证证据、清理触发条件、权衡因素、跳过的检查以及剩余风险。
参考资料
有关详细指导、示例和约束,请参阅 references/055-design-parallel-change.md。