SuperAPI AI 工具集

513-frameworks-micronaut-db-migrations-flyway

部署与运维

查看项目

更新于 10-15 09:03

技能介绍

用途

本技能用于在 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 协调。

使用方式

工作流分为四步:

  1. 阅读参考并评估项目上下文:阅读 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,然后在提出变更前检查当前项目设置。
  2. 收集范围并决定目标改进:识别请求的结果、约束以及要应用的最小安全变更集。
  3. 应用与框架一致的变更:按照参考模式和项目约定实现或重构配置/代码。对于破坏性或数据敏感型模式变更,使用 Parallel Change(扩展、迁移、收缩)作为安全默认方式。
  4. 运行验证并报告结果:执行适当的构建/测试,并总结变更内容、验证内容以及任何后续操作。

约束与限制

  • 在应用 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

暂未提供的信息

关于该技能的具体收费、价格、平台支持范围、实际效果数据等,资料中暂未提供。