mcpField
3
316-frameworks-spring-mongodb-migrations-mongock

316-frameworks-spring-mongodb-migrations-mongock

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

关于 316-frameworks-spring-mongodb-migrations-mongock

面向使用 Mongock 的 Spring Boot 和 Spring Data MongoDB 项目维护团队的技能,指导迁移配置与审查。重点包括依赖兼容性、安全变更单元,以及修改前后的构建验证。

主要功能

  1. 01Mongock 依赖与运行器配置
  2. 02迁移扫描包配置
  3. 03代码优先的 @ChangeUnit 模式
  4. 04锁定与幂等性指导
  5. 05构建及迁移验证

适用场景

  1. 01为 Spring Boot 添加 Mongock 迁移
  2. 02审查 MongoDB 数据迁移
  3. 03检查迁移顺序与兼容性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jabrena/plinth --skill 316-frameworks-spring-mongodb-migrations-mongock

安装后在 Claude Code 中输入/316-frameworks-spring-mongodb-migrations-mongock确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
316-frameworks-spring-mongodb-migrations-mongock-antipatterns.md
316-frameworks-spring-mongodb-migrations-mongock-parallel-change.md
316-frameworks-spring-mongodb-migrations-mongock.md

详细介绍

Spring - MongoDB 迁移(Mongock)

应用适用于 Spring Boot 和 Spring Data MongoDB 的 Mongock 迁移指南。

此技能涵盖哪些内容?

  • Mongock BOM、Spring Boot runner 和 Spring Data MongoDB 驱动坐标
  • mongock.migration-scan-package 配置和启动时执行
  • 使用 @Execution 和回滚钩子的代码优先 @ChangeUnit 迁移
  • 锁定、幂等性、事务限制和仅向前的发布纪律
  • 可选的 MongoDB 支持集成测试;仅在用户允许外部运行时依赖时,使用项目批准、固定版本或已提供的容器镜像
  • 与 @315-frameworks-spring-mongodb 协同

范围: 根据参考规则和正反示例应用建议。

约束

进行 Mongock 或 MongoDB 迁移更改前先编译;更改后进行验证。

  • 强制要求:应用任何更改前,运行 ./mvnw compile 或 mvn compile
  • 安全要求:如果编译失败,立即停止
  • 验证:应用改进后,运行 ./mvnw clean verify 或 mvn clean verify
  • 应用前:阅读参考资料,了解详细规则和正反模式
  • 边缘情况:如果项目的 Spring Data MongoDB 版本与所选 Mongock 驱动不兼容,请停止并询问是固定/升级 Mongock,还是使用较低版本的驱动系列
  • 外部运行时门槛:除非用户明确批准,且镜像已固定版本、经策略批准或已存在于项目配置中,否则不要拉取或执行 MongoDB Docker 镜像进行验证

何时使用此技能

  • 在 Spring Boot 中添加 Mongock 迁移
  • 审查 Spring MongoDB 数据迁移
  • 为 Spring Data MongoDB 配置 Mongock change unit
  • 为 Spring Boot MongoDB 创建 Mongock change unit
  • 审查 Spring 服务中的 Mongock 迁移顺序

工作流

  1. 阅读参考资料并检查 MongoDB 设置

阅读 references/316-frameworks-spring-mongodb-migrations-mongock.md、references/316-frameworks-spring-mongodb-migrations-mongock-antipatterns.md 和 references/316-frameworks-spring-mongodb-migrations-mongock-parallel-change.md,然后检查 pom.xml、Spring Boot 版本、依赖管理、MongoDB 配置、现有的完整上下文测试,以及现有的 @315-frameworks-spring-mongodb 持久化模式。

  1. 选择 runner、驱动和执行策略

选择与当前 Spring Data MongoDB 版本系列兼容的 Mongock 坐标,配置迁移扫描包,并决定在启动时执行还是通过受控任务执行。

  1. 应用符合框架规范的迁移

实现/重构 @ChangeUnit 类,采用幂等操作、明确的顺序、回滚钩子,以及安全的锁定/事务设置。

  1. 运行验证并报告结果

执行构建/测试。仅当项目已定义经批准的 MongoDB 测试运行时,或用户明确批准固定版本的容器镜像时,才运行 MongoDB 支持的迁移检查。如果通用的 @SpringBootTest 冒烟测试不提供 MongoDB,则仅对这些测试使用 mongock.enabled=false 禁用 Mongock。总结结果和后续风险。

参考资料

详细指南、示例和约束请参阅:

评论

支持 Markdown