项目spring cloud整合flyway Published on Jul 8, 2024 in Java随笔教程 with 0 comment 公司项目用的微服务架构 苦于每次需要手动改数据库表 然后我在想能不能集成一个数据库版本管理工具 调查选择flyway 因为项目是分布式的,每个服务有一个数据库 然后我的做法是创建一个共同的子工程来统一管理sql文件 然后再resources目录创建每个工程对应的文件夹  再总的application.yml写入  ``` #前缀: V 代表版本变迁(Versioned Migrations), U 代表撤销变迁(Undo Migrations), R 代表可重复变迁(Repeatable Migrations) #版本号: 唯一的版本号,比如V1.0.1 #分隔符: __ (两个下划线) #描述信息: 描述信息 #后缀: .sql flyway: # 是否开启flyway enabled: true encoding: utf-8 # 是否禁用数据库清理 clean-disabled: true # 若连接的数据库非空库,是否初始化 # 当迁移时发现目标schema非空,而且带有没有元数据的表时,是否自动执行基准迁移,默认false. baseline-on-migrate: true # sql脚本文件名前缀,默认大写V sql-migration-prefix: V # sql脚本文件名称的分隔符,默认2个下划线__ sql-migration-separator: __ # 迁移sql脚本文件名称的后缀 sql-migration-suffixes: .sql # metadata 版本控制信息表 默认 flyway_schema_history table: flyway_schema_history # 指定 baseline 的版本号,默认值为 1, 低于该版本号的 SQL 文件, migrate 时会被忽略 baseline-version: 1 ``` 然后再每个服务的配置文件中写入 ``` flyway: # 默认存放sql脚本目录,默认为db/migration locations: classpath:db/migration/im ``` 指定每个工程sql位置 即可。。。。 sql文件的命名规则如下: ###前缀: V 代表版本变迁(Versioned Migrations), U 代表撤销变迁(Undo Migrations), R 代表可重复变迁(Repeatable Migrations) ###版本号: 唯一的版本号,比如V1.0.1 ###分隔符: __ (两个下划线) ###描述信息: 描述信息 ###后缀: .sql ``` V1.0.0__create_user.sql ``` 本文由 admin 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。