用途:在 Spring Boot 与 Spring Data MongoDB 项目中应用 Mongock 数据迁移规范,适用于新增或审查 MongoDB 迁移。
主要能力:涵盖 Mongock BOM、Spring Boot runner 与 Spring Data MongoDB 驱动坐标;mongock.migration-scan-package 配置与启动执行;基于代码的 @ChangeUnit 迁移,配合 @Execution 与回滚钩子;锁、幂等性、事务限制与仅向前发布纪律;可选 MongoDB 集成测试;并与 @315-frameworks-spring-mongodb 协同。
使用方式:先阅读参考文件并检查 MongoDB 设置(pom.xml、Spring Boot 版本、依赖管理、MongoDB 配置、现有全上下文测试与 @315 持久化模式);选择与当前 Spring Data MongoDB 代次兼容的 Mongock 坐标,配置迁移扫描包并决定启动或受控作业执行;实现或重构 @ChangeUnit,保证幂等、显式顺序、回滚钩子与安全锁/事务设置;最后执行构建与测试。
强制约束:任何 Mongock 或 MongoDB 迁移改动前必须先运行 ./mvnw compile 或 mvn compile;编译失败立即停止;改动后运行 ./mvnw clean verify 或 mvn clean verify 验证。若项目 Spring Data MongoDB 版本与所选 Mongock 驱动不兼容,应停止并询问是固定/升级 Mongock 还是使用更低驱动代次。除非用户明确批准且镜像已固定、经策略批准或已在项目配置中存在,不得拉取或执行 MongoDB 验证用 Docker 镜像。若 @SpringBootTest 冒烟测试不提供 MongoDB,可用 mongock.enabled=false 仅对这些测试禁用 Mongock。
限制:本技能为规则与示例驱动的建议,具体版本兼容性、迁移执行策略与测试运行时需依据项目实际情况确认。