flyway在spring boot中的使用
flyway是什么可以参考其他资料,现在只研究下flyway在spring boot中的使用方法。首先需要引入flyway依赖,引入依赖后,spring-boot-autoconfigure会自动初始化flyway,把bean容器中的DataSource放入Flyway中,在初始化完成之后,在afterPropertiesSet中会自动执行flyway.migrate(),这样就实现了每次启动
flyway是什么可以参考其他资料,现在只研究下flyway在spring boot中的使用方法。
首先需要引入flyway依赖,引入依赖后,spring-boot-autoconfigure会自动初始化flyway,把bean容器中的DataSource放入Flyway中,在初始化完成之后,在afterPropertiesSet中会自动执行flyway.migrate(),这样就实现了每次启动项目都会自动去查看数据库的版本与存放数据库脚本的版本差异,进行迁移。
但是有时候不需要在启动项目的时候就执行数据库版本同步,需要关闭flyway的自动迁移,只需在application.properties中加上flyway.enabled=false即可。
查看源码,挑选了一些有用的配置信息讲解一下:
locations 存放数据库脚本的位置,默认为db/migration
table 数据库版本管理表,默认为schema_version
sqlMigrationPrefix,sqlMigrationSeparator,sqlMigrationSuffix 这三个是控制脚本的命名规则,最好不要改动
baselineVersion 基础的版本,一般为第一版本
placeholders 提供了类似freemaker的模板功能,可以在脚本中写入 create table ${foo1}; 在flyway.setPlaceholders(map->{map.put("foo1","table1")}),替换脚本中的foo1 =》 table1
更多推荐
所有评论(0)