dbdeploy 是一个工具,用来记录数据库开发留下修改历史。
利用Dbdeploy工具为我们带的好处
1、历史修改留痕,方便追溯或回滚某一时间数据库结构和数据
2、利用命令自动打包sql脚本
3、可利用历史记录快速复制干净的数据库,实现一人一库开发,数据隔离,不影响测试过程
4、防止开发人员在开发过程中随意在数据库上更改脚本
mysql示例
test mysql-dbdeploy 127.0.0.1 jdbc:mysql://${db.host}:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai root 123456 1.8 UTF-8 com.dbdeploy maven-dbdeploy-plugin 3.0M3 ./src/main/sql ${name} UTF-8 lf ./target/apply.sql ./target/undo.sql com.mysql.cj.jdbc.Driver ${db.url} ${db.usr} ${db.pwd} mysql ; row mysql mysql-connector-java 8.0.21 runtime com.dbdeploy dbdeploy-core 3.0M3
Oracle示例
创建记录表test oracle com.dbdeploy maven-dbdeploy-plugin 3.0M3 ./src/main/sql ${dbchangefile.name} UTF-8 lf ./target/apply.sql ./target/undo.sql oracle.jdbc.OracleDriver ${db.url} ${db.usr} ${db.pwd} ora ; row com.oracle ojdbc6 11.2.0.1.0 com.oracle orai18n 11.2.0.1.0
create table changelog
(
CHANGE_NUMBER NUMERIC(22) not null,
COMPLETE_DT DATETIME not null,
APPLIED_BY VARCHAr(100) not null,
DESCRIPTION VARCHAr(500) not null,
primary key (CHANGE_NUMBER)
);
批处理命令
1.createNewDDLChangeFile.bat
该命令用于生成DDL语句
mvn dbdeploy:change-script -Dname=DDL
2.createNewDDLChangeFile.bat
该命令用于生成DML语句
mvn dbdeploy:change-script -Dname=DML
3.update.bat
该命令用于执行记录表里未记录的SQL文件
mvn dbdeploy:update -Ddb.host=127.0.0.1 -Dscriptdirectory=./src/main/sql > creditsql.log项目目录结构



