目标:
Liquibase 实施端到端CI / CD要求将所有代码(包括数据库代码)检入版本控制系统 , 并作为软件发布过程的一部分进行部署 。
1、引入依赖
org.liquibaseliquibase-core4.16.1复制代码
2、application.yml 配置
spring:liquibase:enabled: truechange-log: classpath:liquibase/master.xml# 记录版本日志表database-change-log-table: databasechangelog# 记录版本改变lock表database-change-log-lock-table: databasechangeloglock复制代码
3、resource 目录下新建 master.xml 和 changelog 目录

文章插图
复制代码4、运行项目 , 数据库中会生成如下两张表:
- DATABASECHANGELOG 表
- DATABASECHANGELOGLOCK表
因为 yaml 文件中的配置 , 实际生成的表名为小写格式 。
接下来该研究如何使用 liquibase 了 , 如果项目所连接的数据库中目前没有一个表 , 那么你可以在网上找一下 changeset 的书写格式 , 然后模仿着来建表 。如果数据库中有表 , 可以先执行 liquibase:generateChangeLog 命令 , 生成一份现有表的建表语句 , 文件输出路径既可以在 yaml 文件中添加 , 然后在 pom 文件中读取 yaml 文件;也可以直接在 pom 文件中添加 。
#输出文件路径配置outputChangeLogFile: src/main/resources/liquibase/out/out.xml复制代码pom.xml
org.liquibaseliquibase-maven-plugin4.16.1src/main/resources/application.ymltrue复制代码7、点击如下任意一个命令

文章插图
然后在控制台输入名称:job_create_table , 效果为:

文章插图
内容如下:
复制代码plugin-生成数据库修改文档双击liquibase plugin面板中的liquibase:dbDoc选项 , 会生成数据库修改文档 , 默认会生成到target目录中 , 如下图所示

文章插图
访问index.html会展示如下页面 , 简直应有尽有

文章插图
关于 liquibase 的更多有意思的使用 , 可以花时间再去挖掘一下 , 这里就不过多介绍了 。
一键式生成模版代码
基于 orm-generate 项目可以实现项目模板代码 , 集成了三种 ORM 方式:Mybatis、Mybatis-Plus 和 Spring JPA , JPA 是刚集成进来的 , 该项目去年就已经发布过一版 , 也成功实现了想要的功能 , 关于功能介绍可以参考我之前的这篇文章 。
运行 orm-generate 项目 , 在 swagger 上调用 /build 接口 , 调用参数如下:
"database": "mysql_db","flat": true,"type": "mybatis","group": "hresh","host": "127.0.0.1","module": "orm","password": "root","port": 3306,"table": ["user","job"],"username": "root","tableStartIndex":"0"复制代码先将代码下载下来 , 解压出来目录如下:

文章插图
代码文件直接移到项目中就行了 , 稍微修改一下引用就好了 。
总结
上述基础代码是根据个人经验总结出来的 , 可能不够完美 , 甚至还缺少一些更有价值的基础代码 , 望大家多多指教 。
在实际项目开发中 , SpringBoot 基础代码和模版生成代码完全可以作为两个独立的项目 , 供其他业务项目使用 , 以上代码仅供参考 , 应用时可以按需修改 。
【SpringBoot项目基础设施搭建】
推荐阅读
- 科目二考试有几个项目,科目二考试有时间限制吗
- 李晨|李晨如今在娱乐圈的尴尬咖位,重点项目是客串,近几年没有代表作
- 产检项目及时间表
- 小学运动会开展哪些项目运动好
- 赚钱好项目有哪些?
- 如何寻找互联网创业项目经验 如何寻找互联网创业项目经理
- 如何寻找好的创业项目经验 如何寻找好的创业项目经理
- 招聘|36氪项目报道 | 猎头由专精领域转向全域,Morgan McKinley 中国以项目制人才解决方案寻找新路径
- 汽车保养项目有哪些?
- 卓越|上班族副业推荐,副业赚钱有哪些项目, 可发展的长期副业项目
