用途
本技能用于在 Micronaut 应用中添加或审查 Flyway 数据库迁移,帮助开发者按照参考规则和正反示例应用 Flyway 迁移指南。适用场景包括:在 Micronaut 项目中添加或审查 Flyway 迁移、配置 micronaut-flyway 或 db/migration 目录结构、为 Micronaut 添加版本化 Flyway SQL 迁移、审查 Micronaut 数据库迁移顺序、在 Micronaut 项目中配置 Flyway 数据源。
主要能力
- micronaut-flyway 与 JDBC/Hikari 及数据库驱动的集成。
- 在 src/main/resources/db/migration 下管理版本化 SQL。
- 在 YAML/properties 中配置 flyway.datasources.*(按数据源)。
- 使用 Testcontainers 和真实迁移链进行测试。
- 采用 Parallel Change(扩展、迁移、收缩)作为破坏性或数据敏感型模式变更的安全工作流。
- 与 @511-frameworks-micronaut-jdbc 和 @512-frameworks-micronaut-data 协调。
使用方式
工作流分为四步:
- 阅读参考并评估项目上下文:阅读 references/513-frameworks-micronaut-db-migrations-flyway.md、references/513-frameworks-micronaut-db-migrations-flyway-antipatterns.md 和 references/513-frameworks-micronaut-db-migrations-flyway-parallel-change.md,然后在提出变更前检查当前项目设置。
- 收集范围并决定目标改进:识别请求的结果、约束以及要应用的最小安全变更集。
- 应用与框架一致的变更:按照参考模式和项目约定实现或重构配置/代码。对于破坏性或数据敏感型模式变更,使用 Parallel Change(扩展、迁移、收缩)作为安全默认方式。
- 运行验证并报告结果:执行适当的构建/测试,并总结变更内容、验证内容以及任何后续操作。
约束与限制
- 在应用 Flyway 或 SQL 变更之前,确保项目可编译。改进后运行完整验证。
- 强制要求:在应用任何变更之前运行 ./mvnw compile 或 mvn compile。
- 安全要求:如果编译失败,立即停止。
- 验证要求:在应用改进后运行 ./mvnw clean verify 或 mvn clean verify。
- 应用前:阅读参考以了解详细规则和正反模式。
- 破坏性变更审查:在推荐或应用迁移之前,评估它是否会破坏已部署的应用程序版本、依赖服务、报表、作业或生产数据解释;如果是,则要求在继续之前进行明确的人工审查。
- 边界情况:如果用户目标不明确,停止并在编辑文件或运行项目级命令之前提出澄清问题。
- 边界情况:如果缺少所需的上下文、文件、凭据或工具,明确报告阻塞因素,并询问是继续设置还是提供回退指导。
- 边界情况:如果请求的变更与项目约束或安全边界冲突,解释冲突并询问用户对首选权衡的确认。
适用场景
- 在 Micronaut 项目中添加或审查 Flyway 迁移。
- 配置 micronaut-flyway 或 db/migration 布局。
- 为 Micronaut 添加版本化 Flyway SQL 迁移。
- 审查 Micronaut 数据库迁移顺序。
- 在 Micronaut 项目中配置 Flyway 数据源。
参考文件
- references/513-frameworks-micronaut-db-migrations-flyway.md
- references/513-frameworks-micronaut-db-migrations-flyway-antipatterns.md
- references/513-frameworks-micronaut-db-migrations-flyway-parallel-change.md
暂未提供的信息
关于该技能的具体收费、价格、平台支持范围、实际效果数据等,资料中暂未提供。