java 单机接口限流处理方案
474
2022-08-29
SpringBoot整合liquibase及liquibase生成初始化脚本的方式
目录一. SpringBoot集成liquibase二. liquibase生成数据库表和数据的初始化脚本
一. SpringBoot集成liquibase
项目集成liquibase作用
对数据库表字段进行版本控制项目初始化部署时初始化数据库表和数据
①.导入pom依赖
②.配置application.yml文件,指定master.xml
spring:
liquibase:
change-log: classpath:liquibase/master.xml #指定master.xml文件的位置
不同spring版本配置方式不一样具体看源码LiquibaseProperties中配置
③.新建master.xml文件用于中指定数据库初始化脚本的位置
xmlns="http://liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://liquibase.org/xml/ns/dbchangelog http://liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd">
xmlns="http://liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://liquibase.org/xml/ns/dbchangelog
http://liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd">
④.将数据库表初始脚本init_table.xml和数据初始脚本init_data.xml放到项目目录下
脚本可以通过手写的方式或者通过liquibase自动生成;
启动项目如果第一次运行则会在数据库中创建表和数据后面如果脚本中有新增表或者字段启动项目的时候也会自动创建生成
二. liquibase生成数据库表和数据的初始化脚本
liquibase有两种方式生成初始化脚本
方法一:在官网下载liquibase压缩包,使用原生的命令行指令来生成
下载liquibase压缩包,解压,将mysql连接jar包复制一份到此目录下
进入解压目录执行如下执行
根据数据库生成表结构文件
./liquibase --driver=com.mysql.cj.jdbc.Driver --classpath=mysql-connector-java-8.0.17.jar --changeLogFile=./init-data.xml --url="jdbc:mysql://192.168.0.162:3306/hello_world" --username=root --password=123456 --diffTypes=data generateChangeLog
根据数据库生成初始数据文件
./liquibase --driver=com.mysql.cj.jdbc.Driver --classpath=mysql-connector-java-8.0.17.jar --changeLogFile=./init-table.xml --url="jdbc:mysql://192.168.0.162:3306/hello_world" --username=root --password=123456 generateChangeLog
数据库驱动取决于数据库
–driver=com.mysql.cj.jdbc.Driver
mysql连接
–classpath=mysql-connector-java-8.0.17.jar
自定义生成的初始化脚本文件名
–changeLogFile=./init-data.xml
数据库连接地址
–url=“jdbc:mysql://192.168.0.162:3306/hello_world”
数据库用户名密码
-username=root–password=123456
生成初始化表数据需要加上这个配置,生成表结构则不加
-diffTypes=data
方法二:使用Maven插件
如果只是生成数据库表脚本,则将上面的diffTypes注释起来或者去掉里面的data如果只是生成数据脚本,则只留下data如果要把数据表脚本和数据脚本生成到一个文件则保留上面的difftypes所有内容
安装好maven插件后maven插件中可以看如下图的指令,点击即可生成脚本文件
生成脚本如下
参考文章如下http://blog.jiunile.com/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%89%88%E6%9C%AC%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7liquibase.htmlhttps://blog.csdn.net/cover1231988/article/details/78124673?utm_source=blogxgwz5https://cnblogs.com/tonyq/p/8039770.htmlhttps://jianshu.com/p/07a45b6722fd
参考文章如下http://blog.jiunile.com/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%89%88%E6%9C%AC%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7liquibase.htmlhttps://blog.csdn.net/cover1231988/article/details/78124673?utm_source=blogxgwz5https://cnblogs.com/tonyq/p/8039770.htmlhttps://jianshu.com/p/07a45b6722fd
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~