【Flyway数据库管理】使用Flyway管理数据库脚本

【Flyway数据库管理】使用Flyway管理数据库脚本_第1张图片

一、使用背景

在Mybatis中对于手工建库与修改表结构是一个比较遭人诟病的一个话题,新项目中使用了flyway来构建及管理数据库版本以方便对数据库表及结构的管理操作。简单得说,修改数据库得表,数据,等操作,都用脚本来统一执行,而不直接操作数据库

二、啥是Flyway?

Flyway是一个简单开源数据库版本控制器(约定大于配置),主要提供migrate、clean、info、validate、baseline、repair等命令。它支持SQL(PL/SQL、T-SQL)方式和Java方式,支持命令行客户端等,还提供一系列的插件支持(Maven、Gradle、SBT、ANT等)。

官网地址Flyway官网

三、springboot整合Flyway

pom文件导入依赖
注意:假设springboot2.0x(版本的)使用5.2.1版本的就可以了(太高版本不兼容,会报错),springboot1.0x版本更低

	<dependency>
			<groupId>org.flywaydb</groupId>
			<artifactId>flyway-core</artifactId>
			<version>5.2.1</version>
		</dependency>

application.properties

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql://localhost:3306/vueblog2?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
mybatis.config-location=classpath:/mybatis-config.xml

只需要在resources目录下,把sql文件放到/db/migration下
【Flyway数据库管理】使用Flyway管理数据库脚本_第2张图片

四、运行结果

【Flyway数据库管理】使用Flyway管理数据库脚本_第3张图片
注意:每运行一次,都会flyway_schema_history表生成一条记录,假设还想执行,只需重新命名sql的名字,进行版本升级,则可以继续执行,假设执行错误,只需删除flyway_schema_history表的那条错误记录。
在这里插入图片描述

你可能感兴趣的:(mysql,数据库,mysql)