关于 313-frameworks-spring-db-migrations-flyway
用于在 Spring Boot 项目中应用 Flyway 数据库迁移实践的技能,涵盖迁移布局与配置,强调已应用迁移只向前演进,并以扩展、迁移、收缩流程处理风险较高的结构变更。
主要功能
- 01配置 Spring Boot 的 Flyway
- 02组织版本化 SQL 迁移
- 03使用可选 Java 迁移
- 04已应用迁移只向前演进
- 05采用扩展、迁移、收缩流程
- 06使用 Maven 命令验证
适用场景
- 01添加版本化 SQL 迁移
- 02审查迁移顺序和配置
- 03规划有破坏性的结构变更
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jabrena/ plinth --skill 313-frameworks-spring-db-migrations-flyway安装后在 Claude Code 中输入/313-frameworks-spring-db-migrations-flyway确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/313-frameworks-spring-db-migrations-flyway-parallel-change.md313-frameworks-spring-db-migrations-flyway.md313-frameworks-spring-db-migrations-flyway-antipatterns.md详细介绍
Spring — 数据库迁移(Flyway)
应用适用于 Spring Boot 的 Flyway 迁移指南。
此技能涵盖哪些内容?
- 使用 Spring Boot BOM 的 flyway-core 和特定数据库的 Flyway 模块(例如 PostgreSQL)
src/main/resources/db/migration下的版本化 SQL(V{version}__{description}.sql)spring.flyway.*属性:locations、baseline-on-migrate、validate-on-migrate- 用于数据回填的可选 Java 迁移(
BaseJavaMigration) - 仅向前的原则:不要在共享环境中重写已应用的迁移
- Parallel Change:针对破坏性或对数据敏感的架构变更,采用安全的扩展、迁移、收缩工作流
- 与
@311-frameworks-spring-jdbc和@312-frameworks-spring-data-jdbc协同
范围: 根据参考规则和正反示例应用建议。
约束
在应用 Flyway 或 SQL 变更之前,确保项目能够编译。改进后,运行完整验证。
- 强制要求:应用任何变更之前,运行
./mvnw compile或mvn compile - 安全要求:如果编译失败,立即停止
- 验证要求:应用改进后,运行
./mvnw clean verify或mvn clean verify - 应用前:阅读参考资料,了解详细规则和正反模式
- 破坏性变更审查:在建议或应用迁移之前,评估它是否可能影响已部署的应用版本、依赖服务、报告、作业或生产数据的解读;如果可能,则必须先由人工明确审查
- 边界情况:如果用户目标不明确,在编辑文件或运行项目范围的命令之前停止并提出澄清问题
- 边界情况:如果缺少必要的上下文、文件、凭据或工具,明确说明阻碍,并询问是否继续进行设置或提供备用指导
- 边界情况:如果请求的变更与项目约束或安全边界冲突,说明冲突,并请用户确认首选的权衡方案
何时使用此技能
- 在 Spring Boot 项目中添加或审查 Flyway 迁移
- 配置 spring.flyway 或 db/migration 布局
- 为 Spring Boot 添加版本化 Flyway SQL 迁移
- 审查 Spring Boot 数据库迁移的顺序
- 修复 Spring 项目中的可重复 Flyway 迁移
工作流
- 阅读参考资料并评估项目上下文
阅读 references/313-frameworks-spring-db-migrations-flyway.md、references/313-frameworks-spring-db-migrations-flyway-antipatterns.md 和 references/313-frameworks-spring-db-migrations-flyway-parallel-change.md,然后检查当前项目配置,再提出变更建议。
- 明确范围并确定目标改进
确定请求的结果、约束,以及要应用的最小安全变更集。
- 应用符合框架规范的变更
遵循参考模式和项目惯例实现或重构配置/代码。对于破坏性或对数据敏感的架构变更,默认采用 Parallel Change(扩展、迁移、收缩)作为安全方案。
- 运行验证并报告结果
执行适当的构建/测试,并总结变更内容、验证情况以及后续操作。
参考资料
详细指南、示例和约束请参阅:
评论
支持 Markdown