springboot配置flyway(入门级别教程)
作者:Mayz梅子子子
本文介绍了springboot配置flyway,主要介绍基于SpringBoot集成flyway来管理数据库的变更,具有一定的参考价值,感兴趣的可以了解一下
1、Flyway的工作原理
Flyway在第一次执行时,会创建一个默认名为flyway_schema_history的历史记录表,这张表会用来跟踪或记录数据库的状态,然后每次项目启动时都会自动扫描在resources/db/migration下的文件的版本号并且通过查询flyway_schema_history来判断是否有新增文件,从而判断是否进行迁移。默认的查找 migration 的路径为 classpath:db/migration ,对应 SQL 文件可放置在src/main/resources/db/migration 下,Java 类可放置在 src/main/java/db/migration 下。
2、sql脚本命名规则
- 仅需要执行一次的,以大写“V”开头,V+版本后(版本号间的数字以“.” 或者“ _ ”分隔开,“ _ ”会自动编译成 “ . ” )+" __"+文件描述+后缀名;
- 需要执行多次的,以大写“R”开头,命名如R__clean.sql ,R的脚本只要改变了就会执行,R不带版本号;
- V开头的比R开头的优先级要高。
前缀:用于版本控制(可配置)、撤消(可配置)和可重复迁移(可配置)VUR)
版本:带有点或下划线的版本可根据需要分隔任意数量的部分(不适用于可重复的迁移)
分隔符:(两个下划线)(可配置)__)
说明:下划线或空格分隔单词
后缀:(可配置.sql)
(可选)版本控制 SQL 迁移还可以省略分隔符和说明
3、引入maven依赖
<!-- flyaway工具 --> <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <version>5.2.4</version> </dependency
4、添加yml配置项(不做专门配置说明的配置项按照默认值)
flyway.baseline-description对执行迁移时基准版本的描述. flyway.baseline-on-migrate当迁移时发现目标schema非空,而且带有没有元数据的表时,是否自动执 行基准迁移,默认false. flyway.baseline-version开始执行基准迁移时对现有的schema的版本打标签,默认值为1. flyway.check-location检查迁移脚本的位置是否存在,默认false. flyway.clean-on-validation-error当发现校验错误时是否自动调用clean,默认false. flyway.enabled是否开启flywary,默认true. flyway.encoding设置迁移时的编码,默认UTF-8. flyway.ignore-failed-future-migration当读取元数据表时是否忽略错误的迁移,默认false. flyway.init-sqls当初始化好连接时要执行的SQL. flyway.locations迁移脚本的位置,默认db/migration. flyway.out-of-order是否允许无序的迁移,默认false. flyway.password目标数据库的密码. flyway.placeholder-prefix设置每个placeholder的前缀,默认${. flyway.placeholder-replacementplaceholders是否要被替换,默认true. flyway.placeholder-suffix设置每个placeholder的后缀,默认}. flyway.placeholders.[placeholder name]设置placeholder的value flyway.schemas设定需要flywary迁移的schema,大小写敏感,默认为连接默认的schema. flyway.sql-migration-prefix迁移文件的前缀,默认为V. flyway.sql-migration-separator迁移脚本的文件名分隔符,默认__ flyway.sql-migration-suffix迁移脚本的后缀,默认为.sql flyway.tableflyway使用的元数据表名,默认为schema_version flyway.target迁移时使用的目标版本,默认为latest version flyway.url迁移时使用的JDBC URL,如果没有指定的话,将使用配置的主数据源 flyway.user迁移数据库的用户名 flyway.validate-on-migrate迁移时是否校验,默认为true.
我的项目中只做了这些配置:
5、然后运行就可以看到数据库中多了一个flyway_schema_history表,会记录执行情况。
到此这篇关于springboot配置flyway(入门级别教程)的文章就介绍到这了,更多相关springboot配置flyway内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- SpringBoot使用Flyway进行数据库迁移的实现示例
- SpringBoot使用Flyway进行数据库管理的操作方法
- springboot集成flyway自动创表的详细配置
- SpringBoot项目集成Flyway详细过程
- SpringBoot整合flyway实现自动创建表的方法
- SpringBoot集成Flyway进行数据库版本迁移管理的步骤
- SpringBoot使用flyway初始化数据库
- SpringBoot整合flyway实现步骤解析
- Flyway详解及Springboot集成Flyway的详细教程
- SpringBoot项目集成Flyway进行数据库版本控制的详细教程
- SpringBoot整合Flyway的方法(数据库版本迁移工具)