做网站销售电销好做吗,缙云县城乡建设局网站,网站备案授权书模板,网络做网站1、Flyway的工作原理
Flyway在第一次执行时#xff0c;会创建一个默认名为flyway_schema_history的历史记录表#xff0c;这张表会用来跟踪或记录数据库的状态#xff0c;然后每次项目启动时都会自动扫描在resources/db/migration下的文件的版本号并且通过查询flyway_schem…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工具 --dependencygroupIdorg.flywaydb/groupIdartifactIdflyway-core/artifactIdversion5.2.4/version/dependency4、添加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表会记录执行情况。