关于 316-frameworks-spring-mongodb-migrations-mongock
面向使用 Mongock 的 Spring Boot 和 Spring Data MongoDB 项目维护团队的技能,指导迁移配置与审查。重点包括依赖兼容性、安全变更单元,以及修改前后的构建验证。
主要功能
- 01Mongock 依赖与运行器配置
- 02迁移扫描包配置
- 03代码优先的 @ChangeUnit 模式
- 04锁定与幂等性指导
- 05构建及迁移验证
适用场景
- 01为 Spring Boot 添加 Mongock 迁移
- 02审查 MongoDB 数据迁移
- 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.md316-frameworks-spring-mongodb-migrations-mongock-parallel-change.md316-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 迁移顺序
工作流
- 阅读参考资料并检查 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 持久化模式。
- 选择 runner、驱动和执行策略
选择与当前 Spring Data MongoDB 版本系列兼容的 Mongock 坐标,配置迁移扫描包,并决定在启动时执行还是通过受控任务执行。
- 应用符合框架规范的迁移
实现/重构 @ChangeUnit 类,采用幂等操作、明确的顺序、回滚钩子,以及安全的锁定/事务设置。
- 运行验证并报告结果
执行构建/测试。仅当项目已定义经批准的 MongoDB 测试运行时,或用户明确批准固定版本的容器镜像时,才运行 MongoDB 支持的迁移检查。如果通用的 @SpringBootTest 冒烟测试不提供 MongoDB,则仅对这些测试使用 mongock.enabled=false 禁用 Mongock。总结结果和后续风险。
参考资料
详细指南、示例和约束请参阅: