flyway

flyway从入门到精通(四):flyway配置属性详解

2020-05-04  本文已影响0人  牧羊人刘俏

这一章会对flyway的conf配置文件里面的相关属性做介绍,让大家对整个的flyway提供的详细的能力有个大概的了解。
url :连接数据库的jdbc的url,必须配置
driver:连接数据库的jdbc驱动的class全名,默认为空,flyway会根据url自动查找匹配的驱动
user:连接数据库的用户名(如果有就设置)
password:连接数据库的用户名对应的密码(如果有就设置)
connectRetries:连接数据库的最大的重试次数,每次尝试失败后,flyway会等待一秒然后继续重试到最大次数为止(不设置,就不重试,快速的失败)
initSql:连接上数据库之后的初始化sql
defaultSchema:默认的schema,大小写敏感,是flyway在执行过程中默认的schema,flyway_schema_history包含在这个schema里面,flyway的6.1版本之后,如果没有指定schema,那么默认使用schemas属性配置的第一个schema
schemas:使用逗号分隔,大小写敏感,除非配置的第一个schema已经存在,不然会创建所有的schema,所有的schema会按照顺序做clean操作
table:默认名flyway_schema_history,如果在schemas配置了多个schema,那么flyway_schema_history表在第一个schema里面
tablespace:创建flyway_schema_history的表空间,此设置仅与支持表空间概念的数据库相关。对其它数据库不起作用
locations:locations使用逗号分隔,会对其指定的location进行递归查找,location的类型依配置的location的前缀而定,没有前缀的location或是以classpath:标记的location会在classpath上扫描sql或是jave文件,以filesysytem标记的location会在文件系统上递归的查找非隐藏的migration文件,而且可以使用通配符
color:仅仅应用于命令行使用,是否可以对于输出添加颜色,默认是auto,可以有always和never其它的两个选项
jarDirs:逗号分隔,驱动文件和基于Java的migration文件所在目录
sqlMigrationPrefix:migration文件的前缀,默认为V
undoSqlMigrationPrefix:undo文件前缀,默认是U
repeatableSqlMigrationPrefix:repeat文件前缀,默认是P
sqlMigrationSeparator:migration文件分隔符,默认是_
sqlMigrationSuffixes:migration文件后缀,默认是.sql
validateMigrationNaming:是否验证migration文件,默认是false,如果migration文件名格式不满足要求,skip,如果为true,快速失败
stream:是否对migration文件流化处理,而不是全部的加载到内存之后再处理(如果migration文件很大,如1GB,一般也不会遇到这样的情况)
batch:是否对migration文件进行批处理,可以节约带宽,当然对于处理大的migration文件而言
encoding:migration文件编码
placeholderReplacement:是否进行占位符替换,默认为true
placeholderPrefix:占位符前缀,默认为${
placeholderSuffix:占位符后缀,默认为}
resolvers:migration文件解析器,逗号分隔的全class文件名,相当于可以扩展内置的resolvers解析器
skipDefaultResolvers:是否skip内置的解析器只使用定制化的解析器,默认是false
callbacks:逗号分隔的class文件名,在flyway生命周期内被回调引用
skipDefaultCallbacks:是否skip内置的callbacks,默认false
target:migration时数据库的版本,最好使用默认值
outOfOrder:是否可以无序执行,维持默认即可
ignoreMissingMigrations:忽略丢失的migration文件,默认是false,针对老的系统可以进行设置

还有些属性没有讲全,可以参考flyway官网,如下是属性赋值范例

flyway.driver=org.hsqldb.jdbcDriver
flyway.url=jdbc:hsqldb:file:/db/flyway_sample
flyway.user=SA
flyway.password=mySecretPwd
flyway.connectRetries=10
flyway.initSql=SET ROLE 'myuser'
flyway.defaultSchema=schema1
flyway.schemas=schema1,schema2,schema3
flyway.table=schema_history
flyway.tablespace=my_tablespace
flyway.locations=classpath:com.mycomp.migration,database/migrations,filesystem:/sql-migrations
flyway.sqlMigrationPrefix=Migration-
flyway.undoSqlMigrationPrefix=downgrade
flyway.repeatableSqlMigrationPrefix=RRR
flyway.sqlMigrationSeparator=__
flyway.sqlMigrationSuffixes=.sql,.pkg,.pkb
flyway.stream=true
flyway.batch=true
flyway.encoding=ISO-8859-1
flyway.placeholderReplacement=true
flyway.placeholders.aplaceholder=value
flyway.placeholders.otherplaceholder=value123
flyway.placeholderPrefix=#[
flyway.placeholderSuffix=]
flyway.resolvers=com.mycomp.project.CustomResolver,com.mycomp.project.AnotherResolver
flyway.skipDefaultCallResolvers=false
flyway.callbacks=com.mycomp.project.CustomCallback,com.mycomp.project.AnotherCallback
flyway.skipDefaultCallbacks=false
flyway.target=5.1
flyway.outOfOrder=false
flyway.outputQueryResults=false
flyway.validateOnMigrate=true
flyway.cleanOnValidationError=false
flyway.mixed=false
flyway.group=false
flyway.ignoreMissingMigrations=false
flyway.ignoreIgnoredMigrations=false
flyway.ignoreFutureMigrations=false
flyway.cleanDisabled=false
flyway.baselineOnMigrate=false
flyway.installedBy=my-user
flyway.errorOverrides=99999:17110:E,42001:42001:W
flyway.dryRunOutput=/my/sql/dryrun-outputfile.sql
flyway.oracle.sqlplus=true
flyway.oracle.sqlplusWarn=true
flyway.workingDirectory=C:/myProject

flyway从入门到精通(五):基于spring boot的flyway实战

上一篇 下一篇

猜你喜欢

热点阅读