【微服务】springboot 整合mysql实现版本管理通用解决方案

本文介绍了如何在SpringBoot项目中实现数据库版本管理,包括使用jdbcTemplate、配置文件方式、Flyway和Liquibase。详细讲解了Flyway的执行流程、sql脚本命名规范以及SpringBoot集成过程。还对比了Flyway和Liquibase的优缺点,并提出自研数据库版本管理SDK的思路。
摘要由CSDN通过智能技术生成

目录

一、前言

1.1 单独执行初始化sql

1.2 程序自动执行

二、数据库版本升级管理问题

三、spring 框架sql自动管理机制

3.1 jdbcTemplate 方式

3.1.1 创建数据库

3.1.2 创建 springboot 工程

3.1.3 初始化sql脚本

3.1.4 核心配置类

3.1.5 执行sql初始化

3.2 配置文件方式

四、Flyway 实现数据库版本自动管理

4.1 Flyway 简介

4.2 Flyway 执行流程与原理

4.3 Flyway sql脚本命名规范

4.3.1 sql命名参考示例

4.3.2 sql命名规范补充说明

4.4 SpringBoot集成Flyway

4.4.1 引入基础依赖

4.4.2 配置Flyway参数

4.4.3 准备升级sql脚本

4.4.4 测试效果一:执行sql初始化建表

4.4.5 测试效果二:执行sql创建索引

4.5 使用经验与问题总结

五、Liquibase 实现数据库版本自动管理

5.1 Liquibase简介

5.2 Liquibase 优势

5.3 SpringBoot集成Liquibase

5.3.1 导入依赖

5.3.2 新建master.xml

5.3.3 创建sql文件

5.3.4 自定义Liquibase配置类

5.3.5 效果测试一

5.3.6 效果测试二

5.4 Flyway与Liquibase的对比

六、自研数据库版本管理SDK工具

6.1 实现思路

6.2 核心代码

七、写在文末


一、前言

当springboot微服务项目完成从开发到测试全流程后,通常来说,最终交付产物是一个完整的安装包。在交付产物中一个重要文件就是sql脚本,即项目在部署完成之后运行需要的数据库表。简而言之就是:如何在完成项目安装后,减少或降低sql执行的效率?或者说:如何在项目实施时减少人工对sql相关的干预呢?结合实践经验,有下面几种思路提供参考:

1.1 单独执行初始化sql

sql脚本统一放在一个外部文件中,在项目安装部署之前先执行初始化sql,然后再安装项目。

1)好处:sql文件单独维护,与项目代码分开,可以避免文件管理上的麻烦;

2)缺点࿱

评论 171
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小码农叔叔

谢谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值