zoukankan      html  css  js  c++  java
  • 195. Spring Boot 2.0数据库迁移:Flyway

     

    【视频&交流平台】

    à SpringBoot视频http://t.cn/R3QepWG

    à SpringCloud视频http://t.cn/R3QeRZc

    à Spring Boot源码https://gitee.com/happyangellxq520/spring-boot

    à Spring Boot交流平台http://412887952-qq-com.iteye.com/blog/2321532

    à Spring Boot Shiro视频http://t.cn/R3QDMbh

    à Spring Boot 2.0 之Spring Data 和JPAhttp://t.cn/R1pSojf

     历史相关章节:

    193. Spring Boot 数据库迁移:概述

    194. Spring Boot 数据库迁移:Flyway

    说明:

    (1)Spring Boot 版本:2.0.0.RELEASE

    (2)Flyway版本:5.0.7

     

    前言:

           在上一节中spring boot使用了1.5.12.RELEASE,这里我们要看看2.0.0.RELEASE的一个使用情况。大体的思路和上一篇是使用的,这里我们在上一篇文章的基础上进行调整。

     

    一、版本说明

           这里的Spring Boot版本使用的是2.0.0.RELEASE,那么对于Flyway的版本是5.0.7,这里从3.2.1到5.0.7版本的跨度还是很大的,至于多做了什么改变,这里就不详细展开说明,有兴趣的可以去了解下Flyway版本的升级情况。

     

    二、准备工作

           在上一篇的基础上,我们需要将数据库中的所有表结构全部删掉,为什么要全部删除掉呢?在上面我们说到了Flyway的版本跨度是比较大的,这里Flyway的管理版本的表名称调整为了flyway_schema_history(3.2.1的是schema_version)。

     

    三、测试

           到这里就可以运行测试了,顺利的话,会在数据库中看到之前的表和数据,另外就是Flyway管理版本信息的表:flyway_schema_history。

     

    四、存放路径说明

           由于我们使用了默认的路径,如果你要修改默认的路径的话,在2.0.0版本之后,使用的是如下的配置了:

    spring.flyway.locations=classpath:/db/migration

    5.1.12的版本的是:

    flyway.locations=classpath:/db/migration

    五、配置说明

           对于2.x的版本,Flyway的配置加上了spring的前缀,如下配置:

    # FLYWAY (FlywayProperties)
    spring.flyway.baseline-description= #
    spring.flyway.baseline-on-migrate= #
    spring.flyway.baseline-version=1 # Version to start migration
    spring.flyway.check-location=true # Whether to check that migration scripts location exists.
    spring.flyway.clean-disabled= #
    spring.flyway.clean-on-validation-error= #
    spring.flyway.dry-run-output= #
    spring.flyway.enabled=true # Whether to enable flyway.
    spring.flyway.encoding= #
    spring.flyway.error-handlers= #
    spring.flyway.group= #
    spring.flyway.ignore-future-migrations= #
    spring.flyway.ignore-missing-migrations= #
    spring.flyway.init-sqls= # SQL statements to execute to initialize a connection immediately after obtaining it.
    spring.flyway.installed-by= #
    spring.flyway.locations=classpath:db/migration # The locations of migrations scripts.
    spring.flyway.mixed= #
    spring.flyway.out-of-order= #
    spring.flyway.password= # JDBC password to use if you want Flyway to create its own DataSource.
    spring.flyway.placeholder-prefix= #
    spring.flyway.placeholder-replacement= #
    spring.flyway.placeholder-suffix= #
    spring.flyway.placeholders.*= #
    spring.flyway.repeatable-sql-migration-prefix= #
    spring.flyway.schemas= # schemas to update
    spring.flyway.skip-default-callbacks= #
    spring.flyway.skip-default-resolvers= #
    spring.flyway.sql-migration-prefix=V #
    spring.flyway.sql-migration-separator= #
    spring.flyway.sql-migration-suffix=.sql #
    spring.flyway.sql-migration-suffixes= #
    spring.flyway.table= #
    spring.flyway.target= #
    spring.flyway.undo-sql-migration-prefix= #
    spring.flyway.url= # JDBC url of the database to migrate. If not set, the primary configured data source is used.
    spring.flyway.user= # Login user of the database to migrate.
    spring.flyway.validate-on-migrate= #

    Spring Boot 1.x的版本如下配置:

    # FLYWAY (FlywayProperties)
    flyway.baseline-description= #
    flyway.baseline-version=1 # version to start migration
    flyway.baseline-on-migrate= #
    flyway.check-location=false # Check that migration scripts location exists.
    flyway.clean-on-validation-error= #
    flyway.enabled=true # Enable flyway.
    flyway.encoding= #
    flyway.ignore-failed-future-migration= #
    flyway.init-sqls= # SQL statements to execute to initialize a connection immediately after obtaining it.
    flyway.locations=classpath:db/migration # locations of migrations scripts
    flyway.out-of-order= #
    flyway.password= # JDBC password if you want Flyway to create its own DataSource
    flyway.placeholder-prefix= #
    flyway.placeholder-replacement= #
    flyway.placeholder-suffix= #
    flyway.placeholders.*= #
    flyway.schemas= # schemas to update
    flyway.sql-migration-prefix=V #
    flyway.sql-migration-separator= #
    flyway.sql-migration-suffix=.sql #
    flyway.table= #
    flyway.url= # JDBC url of the database to migrate. If not set, the primary configured data source is used.
    flyway.user= # Login user of the database to migrate.
    flyway.validate-on-migrate= #

     

    点赞、转发、评论,伸出你的双手666…召唤你的小蚂蚁:


    你就是你,不一样的小蚂蚁!

     

     微信公众号「SpringBoot最近更新:

     

    206. Spring Boot 2.0 Swagger2:使用
    205. Spring Boot 2.0 Swagger2:初识Swagger
    当要离开的时候,我却动情了
    205. jetcache:你需要知道的小技巧
    204. jetcache:在Spring Boot中怎么玩?
    遇见阿里,遇见自己
    203. 阿里jetcache
    202. 阿里Pandora Boot
    微信公众号赞赏功能升级了,真的假的?
    《喜剧之王》「我养你啊」之人生选择
    201. Spring Boot JNDI:Spring Boot中怎么玩JNDI
    510阿里日,马老师献上最走心、最科技范儿证婚词~
    200. Spring Boot JNDI:在Tomcat中怎么玩JNDI?
    199. Spring Boot JNDI:这是虾米?
    Spring Boot 数据库迁移系列
    Spring Boot葵花宝典:初露锋芒:MyBatis insert异常 Parameter 'name' not found
    198. Spring Boot Flyway工作原理
    21天习惯养成法则
    197. Spring Boot 2.0数据库迁移:Liquibase
    196. Spring Boot 数据库迁移:Liquibase
    195. Spring Boot 2.0数据库迁移:Flyway
    194. Spring Boot 数据库迁移:Flyway
    193. Spring Boot 数据库迁移:概述

     搜索springboot或者扫描以下二维码即可关注:

  • 相关阅读:
    Oracle之sqlplus显示中文出现乱码
    如何让谷歌取消自动重定向
    装饰器模式
    代理模式
    适配器模式
    protobuf接口调用报错:java.nio.charset.MalformedInputException: Input length = 1
    本地tomcat调用远程接口报错:java.lang.reflect.InvocationTargetException
    windows下安装weblogic
    windows下使用linux命令搜文件
    单例模式
  • 原文地址:https://www.cnblogs.com/springboot-wuqian/p/9382749.html
Copyright © 2011-2022 走看看