liquibase是针对开发过程中数据库表或者字段变更而进行版本控制的工具。(函数和存储过程未使用过)。
1.
开发人员A被分配一个功能模块后,创建表teacher,有三个字段id,name,stu_no。模块完成后,根据需求,teacher表会新增,删除某些字段,甚至删除teacher表。如果当前项目只有开人员A,则数据库变更记录还算清晰,然而现实开发过程,有多名发开协同工作,同时对数据库进行DDL,DML操作。借助liquibase后,则可以对数据库中每张表进行版本记录,且liquibase是支持回滚到某一个更新点的。
2.
1
2
2.1
2.2
3.
1) 配置Liquibase数据库连接信息文件,文件名称随意,当前文件名为liquibase.properties,这个文件到时需要在pom.xml中使用。示例如下:
contexts:
名字任意
changeLogFile:
这里配置的就是用户需要更新数据库的xml文件,里面的内容可以直接写sql,我们后续再配置这个文件
driver:对应数据库的驱动,看用什么数据库了。
url:
jdbc数据库连接字段串
username:
数据库用户名
password:
数据库密码
verbose:
true//默认用这个值
dropFirst:
false //默认用这个值,具体作用查官网
2) 配置pom.xml
在pom.xml的写入如下信息
<</span>plugin>
<</span>groupId>org.liquibase</</span>groupId>
<</span>artifactId>liquibase-maven-plugin</</span>artifactId>
<</span>version>3.5.3</</span>version>
<</span>configuration>
<</span>promptOnNonLocalDatabase >false</</span>promptOnNonLocalDatabase >
<</span>propertyFileWillOverride >true</</span>propertyFileWillOverride >
<</span>logging>debug</</span>logging>
<</span>propertyFile>${basedir}/src/main/profiles/${config.dir}/liquibase.properties</</span>propertyFile>
</</span>configuration>
<</span>executions>
<</span>execution>
<</span>phase>process-resources</</span>phase>
<</span>goals>
<</span>goal>update</</span>goal>
</</span>goals>
</</span>execution>
</</span>executions>
</</span>plugin>
//版本号可以自由替换。配置的即是第一步配置好的数据库连接信息文件。POM文件配置完毕好后,即可用maven命令下载所需包了。
3)配置用于sql更新的xml文件,就是liquibase.properties中的changelog.xml,先贴出示例: