Spring Boot项目集成flyway
一、为什么要使用flyway
二、如何使用flyway
2.1 添加依赖(推荐版本)
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>5.2.1</version>
</dependency>
2.2添加配置
spring:
# 数据库版本控制
flyway:
enabled: true
# 若连接的数据库非空库,是否初始化
baseline-on-migrate: true
# 是否开启校验(若开启校验,flyway在启动校验失败时会清空数据库中的表和删除表结构)
validate-on-migrate: false
# 默认脚本加载路径:/db/migration
locations: classpath:/db/migration
#存储初始化数据的表名
table: sysmn_flyway_schema_history
2.3 添加初始化文件
- V:版本前缀(若配置中无特殊配置,必须为“V”)
- 202007131636:版本号 (新添加的配置文件必须必之前的版本号大)
- __ : 双下划线(重点:双下划线)
- init:区分标识(init表示初始化数据库表)
- .sql :后缀(不可更改)
-- sql脚本文件
-- 命名规则 年月日时分__姓名.sql
use rhmp_controller;
CREATE TABLE `test` (
`ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据主键ID',
`DATA_VERSION` int(11) NOT NULL DEFAULT '' COMMENT '版本号',
`GMT_CREATE` datetime NOT NULL COMMENT '数据创建时间',
`GMT_MODIFY` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '数据修改时间',
`ORG_CODE` varchar(50) DEFAULT NULL COMMENT '用户所在机构',
`USER_CODE` varchar(255) DEFAULT NULL COMMENT '用户代码',
`USER_NAME` varchar(100) DEFAULT NULL COMMENT '用户姓名',
`USER_CLASS` varchar(100) DEFAULT NULL COMMENT '用户类型',
`PERSON_CODE` varchar(100) DEFAULT NULL COMMENT '服务人员代码',
`LOGIN_NAME` varchar(100) NOT NULL COMMENT '系统用户登录名',
`LOGIN_PWD` varchar(200) NOT NULL COMMENT '登录密码',
`HEAD_PORTRAIT` varchar(1000) DEFAULT NULL COMMENT '用户头像',
`USER_TITLE` varchar(100) DEFAULT NULL COMMENT '用户职称',
`ENABLE_FLAG` varchar(10) DEFAULT '' COMMENT '启用标识 0-未启用 1-启用',
`LOCK_FLAG` varchar(10) DEFAULT '' COMMENT '锁定标识 1-锁定 0-正常',
`PY_CODE` varchar(100) DEFAULT NULL COMMENT '拼音码',
`WB_CODE` varchar(100) DEFAULT NULL COMMENT '五笔码',
`THIRD_CODE` varchar(100) DEFAULT NULL COMMENT '第三方编码',
`LAST_LOGIN_DATE` datetime DEFAULT NULL COMMENT '用户最后登录时间',
`LOGIN_COUNT` int(11) DEFAULT NULL COMMENT '累计登录次数',
`SORT_NO` int(11) DEFAULT '' COMMENT '排序号',
`AUDIT_FLAG` varchar(1) DEFAULT NULL COMMENT '是否需要审核 0:不需要审核 1:需要审核',
`AUDIT_PASS` varchar(1) DEFAULT NULL COMMENT '审核结果 审核标识为1时启用,FD000010,0:未审核1:通过,2:不通过',
`REMARK` varchar(1000) DEFAULT NULL COMMENT '备注(审核不通过时是不通过原因)',
`AUDIT_USER_CODE` varchar(50) DEFAULT NULL COMMENT '审核人CODE',
`AUDIT_TIME` datetime DEFAULT NULL COMMENT '审核时间',
`VALID_TIME` datetime DEFAULT NULL COMMENT '生效时间',
`UNVALID_TIME` datetime DEFAULT NULL COMMENT '失效时间',
`BACK_IMAGE` varchar(255) DEFAULT NULL COMMENT '主题背景图片地址',
`DELETE_FLAG` varchar(1) DEFAULT '' COMMENT '删除标志 1 删除 0 未删除',
`IS_FICTITIOUS` varchar(1) DEFAULT '' COMMENT '是否为虚拟用户FD000018 0-否 1-是',
`STATUS_RELATION` varchar(1) DEFAULT '' COMMENT '是否为医疗机构停用关联的停用FD000018:0-否,1-是',
PRIMARY KEY (`ID`) USING BTREE,
UNIQUE KEY `SYS_USER_IDX1` (`LOGIN_NAME`,`DELETE_FLAG`) USING BTREE,
UNIQUE KEY `UI_SYS_USER` (`USER_CODE`,`DELETE_FLAG`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='系统用户表'; INSERT INTO `test` VALUES (null, 8, '2020-06-01 10:53:56', '2020-06-19 17:19:29', '', '', '机构管理员', '', '', 'admin000006', 'e9cdd7cacf3940e525f283f5fa4fa33a', NULL, NULL, '', '', 'JGGLY', 'SSTGK', NULL, '2020-06-19 17:19:28', NULL, 1, '', '', NULL, NULL, NULL, NULL, NULL, NULL, '', '', '');
INSERT INTO `test` VALUES (null, 9, '2020-05-23 14:24:22', '2020-05-23 15:27:32', '', '', '王xue', '', '', 'wanggx', 'e9cdd7cacf3940e525f283f5fa4fa33a', NULL, '', '', '', 'WXUE', 'GXUE', NULL, NULL, NULL, 11, '', '', NULL, NULL, NULL, '2020-05-23 14:10:08', NULL, 'https://image.baidu.com/search/detail', '', '', '');
INSERT INTO `test` VALUES (null, 9, '2020-05-26 15:42:28', '2020-05-23 17:34:05', '', '', '测试', '', '', 'wgx', 'e9cdd7cacf3940e525f283f5fa4fa33a', 'http://static.ruiyicloud.com.cn/image/big-platform/head-picture/000014/0000141590226435000', '', '', '', 'CS', 'IY', NULL, NULL, NULL, 21, '', '', NULL, NULL, NULL, '2020-05-23 14:26:09', '2020-05-23 15:58:14', NULL, '', '', '');
Spring Boot项目集成flyway的更多相关文章
- [转帖]spring boot项目集成jacoco
小试牛刀:spring boot项目集成jacoco 2019-03-28 20:14:36 zyq23333 阅读数 509 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议, ...
- Spring Boot 项目集成 Alibaba Druid
Druid 是一个非常好用的数据库连接池,但是他的好并不止体现在作为一个连接池加快数据访问性能上和连接管理上,他带有一个强大的监控工具:Druid Monitor.不仅可以监控数据源和慢查询,还可以监 ...
- 【Spring Boot&&Spring Cloud系列】Spring Boot项目集成Swagger UI
前言 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参数和模型紧密集 ...
- Spring boot项目集成Neo4j
第一步,创建Springboot工程 使用Eclipse 创建Maven项目,并修改pom.xml文件为: <?xml version="1.0" encoding=&quo ...
- Spring boot项目集成Sharding Jdbc
环境 jdk:1.8 framework: spring boot, sharding jdbc database: MySQL 搭建步骤 在pom 中加入sharding 依赖 <depend ...
- Spring Boot 项目集成Redis
目录 集成方式 使用Jedis 使用spring-data-redis Redis的安装 绑定配置 获取Redis客户端 Redis工具的编写 使用 集成方式 使用Jedis Jedis是Redis官 ...
- Spring Boot项目使用Flyway
Purpose 开发人员在合作的时候经常遇到以下场景: 1.开发人员A在自己的本地数据库做了一些表结构的改动,并根据这些改动调整了DAO层的代码,然后将代码上传到svn或git等版本控制服务器上.此时 ...
- spring boot项目集成zuul网关
1 zuul简介 Zuul 的官方介绍是 “Zuul is the front door for all requests from devices and web sites to the back ...
- Spring Boot 项目实战(五)集成 Dubbo
一.前言 上篇介绍了 Redis 的集成过程,可用于解决热点数据访问的性能问题.随着业务复杂度的提高,单体应用越来越庞大,就好比一个类的代码行数越来越多,分而治之,切成多个类应该是更好的解决方法,所以 ...
随机推荐
- python去除 数据的 重复行
原文链接:https://www.cnblogs.com/loren880898/p/11303672.html
- 用终端命令行(BASH)将本地项目上传到Github并提交代码
第一步: 在Github上创建自己的repository 第二步:建立本地仓库cd到你的本地项目根目录下,执行git命令 1:$ cd 到你的项目目录下 2:$ git init 第三步:将本地项目工 ...
- StructuredStreaming编程模型
StructuredStreaming编程模型 基本概念 ◆ Time ◆ Trigger ◆ Input ◆ Query ◆ Result ◆ Output 案例模型:实时处理流单词统计编程模型 ...
- kubeadm安装kubernetes(v18.8.8)
1. 前言 kubernetes版本更新迭代非常快,上一篇写kubernetes搭建时,版本还是v1.15.0,现在已经更新到v1.18.看kubernetes在github的官方仓库,8月14日小版 ...
- WordCount (Python)
Github项目地址:https://github.com/w1036933220/WordCount 一.解题思路 把项目需求理清楚,画一个思维导图 考虑各部分功能所需要的大概实现思路 然后完成了计 ...
- 软件工程第二次作业(Junit和GoogleTest)
使用Eclipse的Junit框架进行单元测试 一.前言 我的电脑因为以前学过安卓开发,已经安装好了eclipse,看了邹欣老师的博客,博客上讲的的非常详细,所以在进行的过程中遇到困难,基本都能解决. ...
- go语言之反射
---恢复内容开始--- 一 :并发基础 1 并发和并行 并发和并行是两个不同的概念: 并行意味着程序在任意时刻都是同时运行的: 并发意味着程序在单位时间内是同时运行的 详解: 并行就是在任一粒度的时 ...
- 使用intellij IDEA远程连接服务器部署项目
由于不想每次打开上传的文件软件,故研究使用intellij IDEA集成 ,下面是我使用的过程的一些记录. 使用intellij 远程连接服务器连接Linux服务器部署项目,方便我们开发测试. 本人使 ...
- [ASP.NET Core开发实战]开篇词
前言 本系列课程文章主要是学习官方文档,再输出自己学习心得,希望对你有所帮助. 课程大纲 本系列课程主要分为三个部分:基础篇.实战篇和部署篇. 希望通过本系列课程,能让大家初步掌握使用ASP.NET ...
- 透过UIRoot深入理解NGUI提供的屏幕适配方案
主要代码:UIRoot,UIOrthoCamera,UIRect.GetSides(UIPanel使用UIRect的)里的GetSides,代码量很少,但需要思考和测试验证. 一.UIRoot的基本内 ...