Flyway
来源
今天本来是元气满满的一天,逛GitHub,发现spring-boot启动可以直接运行sql文件,从而在数据库生成对应的表,特别好奇,怎么会有如此神奇的事,经过百度查找原来有这么一个东东!!!
简介
官网地址: Flyway
Flyway 是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式。Flyway 可以独立于应用实现管理并跟踪数据库变更,支持数据库版本自动升级,并且有一套默认的规约,不需要复杂的配置,Migrations 可以写成 SQL 脚本,也可以写在 Java 代码中,不仅支持 Command Line 和 Java API,还支持 Build 构建工具和 Spring Boot 等,同时在分布式环境下能够安全可靠地升级数据库,同时也支持失败恢复等。
(这些话是直接复制过来的)
搭建测试
- 配置yml
spring:
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/hdop?useUnicode=true&characterEncoding=UTF-8&useSSL=false&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=GMT
username: root
password: 123456
flyway:
baseline-on-migrate: true
server:
port: 8090
- 添加依赖
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
- 注意细节
把所需要执行的sql文件放在resources
-》db.migration目录下(没有需要自行创建该目录)-》V[version]__[table].sql (需要注意的是version和table中间是两个下划线)
启动查看是否生成对应的表!!
(功能很强大,暂且记录一小部分)