mcpField
0
055-design-parallel-change

055-design-parallel-change

github.com/jabrena数据与数据库456154 次安装1 天前更新
代码仓库

关于 055-design-parallel-change

面向 Java 企业开发者的交互式技能,用于设计数据库迁移。它帮助判断是否需要 Parallel Change,并规划兼容且可验证的部署步骤。

主要功能

  1. 01评估迁移兼容性需求
  2. 02设计扩展、迁移、收缩步骤
  3. 03规划回填与架构变更
  4. 04制定验证和清理方案
  5. 05转交框架专用 Flyway 技能

适用场景

  1. 01规划安全的列重命名
  2. 02评估零停机迁移
  3. 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 迁移是否应使用并行变更?
  • 设计安全的回填和收缩迁移
  • 判断此架构变更是否需要兼容窗口

工作流

  1. 评估迁移风险

阅读 references/055-design-parallel-change.md,然后确定迁移涉及的架构形态、数据含义、应用读写路径、发布窗口、回滚预期和生产数据风险。

  1. 选择并行变更或更简单的迁移

当旧版和新版应用或数据解释必须共存时,建议采用并行变更。当变更具有增量性、规模较小、可立即安全应用且无需兼容窗口时,建议采用更简单的单向迁移。

  1. 设计扩展、迁移、收缩

对于并行变更,将扩展、迁移和收缩分为可独立部署的步骤。在扩展和迁移期间保持旧结构有效;只有在所有已部署代码和数据都转移到新结构后,才进行收缩。

  1. 规划验证和运维

定义前一版本的测试数据检查、行数预期、重复项检测、回填监控、回滚行为和清理责任。在可行时,优先使用生产数据库方言的迁移测试和类似生产环境的数据样本。

  1. 转交框架实现

策略明确后,使用 313-frameworks-spring-db-migrations-flyway、413-frameworks-quarkus-db-migrations-flyway 或 513-frameworks-micronaut-db-migrations-flyway 处理框架特定的 Flyway 依赖项、配置、迁移位置和测试。

  1. 报告迁移计划

报告所选方案、被否决的替代方案、扩展/迁移/收缩顺序或更简单的迁移、验证证据、清理触发条件、权衡因素、跳过的检查以及剩余风险。

参考资料

有关详细指导、示例和约束,请参阅 references/055-design-parallel-change.md。

评论

支持 Markdown