赞
踩
一堆坑
结论:目前 springboot 2.0.4 RELEASE 版本+flyway 2.4.0 是ok的,在mysql8.0.22 和oracle11g.2 都是没问题的。
但 oracle的第一个脚本不执行,所以需要在oracle的脚本集合中的第一个脚本为空,第二个脚本才是初始化库的脚本。
这里直接将调好的代码贴上来:
pom.xml
- <dependency>
- <groupId>com.oracle</groupId>
- <artifactId>ojdbc6</artifactId>
- <version>这里是oracle驱动</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.flywaydb</groupId>
- <artifactId>flyway-core</artifactId>
- <version>4.2.0</version>
- </dependency>
-
- 下面是plugin
- <plugin>
- <groupId>org.flywaydb</groupId>
- <artifactId>flyway-maven-plugin</artifactId>
- <version>4.2.0</version>
- </plugin>
application.yml
- server:
- port: 10003
-
- spring:
- #配置文件激活环境使用的 service ,根据配置自动注入对应bean。目前支持: data/rdb
- profiles:
- active: rdb
- flyway:
- enabled: true
- #mysql/oracle
- type: mysql
- locations: classpath:db/migration/${spring.flyway.type}
- baselineOnMigrate: true
- datasource:
- #这里是oracle11g.2的配置
- # url: jdbc:oracle:thin:@//localhost:1521/orcl
- # username: pidcad
- # password: root
- # driver-class-name: oracle.jdbc.OracleDriver
-
- url: jdbc:mysql://localhost:3307/pidcad?serverTimezone=UTC&characterEncoding=utf-8&useSSL=true
- username: root
- password: pidcad_2021
- driverClassName: com.mysql.cj.jdbc.Driver
下面是及脚本的位置
剩下的默认就好了。
这里贴上一些坑的记录:
1 验证过springboot 2.4.0(目前最新版)+fly7.9.0(目前最新版), mysql8 倒是可以,但是oracle11g的驱动flyway的 community 版已经不支持了,必须使用企业版。烦死了。但是community 版支持12c,不过没测试过。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。