用途:该技能面向使用 Flyway 管理数据库迁移的场景,覆盖模式变更、数据迁移、版本管理与 PostgreSQL DDL 编写。
主要能力:给出迁移文件命名规范 V{version}__{description}.sql,版本号可用 001 或 1.0.0 形式,版本与描述之间用双下划线,描述用 snake_case。示例涵盖建表、加列、修改列、枚举列、数据迁移、关联表、幂等迁移、安全删列、并发索引、批量更新与回滚。
使用方式:迁移文件放在 classpath:db/migration 等位置,通过 Gradle 插件执行。示例配置使用 org.flywaydb.flyway 11.11.2,设置 url、user、password、schemas、locations,并启用 cleanDisabled 与 validateMigrationNaming。并发索引需在 flyway.conf 中设置 flyway.postgresql.transactional.lock=false。
适用场景:PostgreSQL 数据库的模式演进、状态值规范化、JSONB 字段与 GIN 索引、大表分批更新、避免锁表的索引创建。
限制:回滚迁移(U 前缀)标注为 Flyway Teams/Enterprise 功能;并发索引要求非事务执行;资料未提供具体价格、平台支持范围与完整安装步骤。