liquibase之快速入门

简介: 第一步:   创建一个Changelog File:  这个database  Changelog file列举了数据库中所有的改变情况,该文件是以xml为基础的,下面是一个空的xml文件: 1 2 3 8 9 第二步:   增加一个变化集;    每一个变化集...

第一步:

  创建一个Changelog File:

 这个database  Changelog file列举了数据库中所有的改变情况,该文件是以xml为基础的,下面是一个空的xml文件:

1 <?xml version="1.0" encoding="UTF-8"?>
2 
3 <databaseChangeLog
4   xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
5   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6   xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
7          http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
8 
9 </databaseChangeLog>

第二步:

  增加一个变化集;

   每一个变化集都是有id属性和author属性来唯一确定的,这两个属性随着名字和Changelog文件来唯一确定哪些做出的变化,如果只用id来表明,由于id过于简单将会导致一些覆盖的产生;尤其是在很多开发者以及很多开发代码分支中,包含author属性可以尽力降低覆盖的风险;

  把每个你将要运用到你的数据库上的变化集当成原子变化,在你的变化集合中最好只包含一个改变;或者是在包含很多个改变时,可以确保你插入的多行做为单一的操作,liquibase试图尽力运行每个改变作为一次单一操作,但是很多数据库都有默认的方式,我们可以恢复某些指令;

  

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 
 3 <databaseChangeLog
 4   xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
 5   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 6   xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
 7          http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
 8 
 9     <changeSet id="1" author="bob">
10         <createTable tableName="department">
11             <column name="id" type="int">
12                 <constraints primaryKey="true" nullable="false"/>
13             </column>
14             <column name="name" type="varchar(50)">
15                 <constraints nullable="false"/>
16             </column>
17             <column name="active" type="boolean" defaultValueBoolean="true"/>
18         </createTable>
19     </changeSet>
20 
21 </databaseChangeLog>

第三步:

  运行变化集

   执行你的变化log有很多中方式,命令行,Ant, Maven, spring,一个servlet监听和CDI环境;

下面是一个mysql下执行的例子:

liquibase --driver=com.mysql.jdbc.Driver \
     --classpath=/path/to/classes \
     --changeLogFile=com/example/db.changelog.xml \
     --url="jdbc:mysql://localhost/example" \
     --username=user \
     --password=asdf \
     migrate

  现在liquibase支持很多数据库,在数据库的详细类别和那些数据库驱动,url 以及classpath,请参见http://www.liquibase.org/databases.html;

第四步:

  检查你的数据库

    你将会看到你的数据库现在包含量一张名字为department的表,于此同时,还有两张表也被创建了;databasechangelog和databasechangelogelock,在databasechangelog表中包含一系列的已经运行于数据库的状态;databasechangeloglock表被用来确保两个机器不能同时改变数据库;

 

  

相关文章
|
4月前
|
安全 算法 Java
SpringSecurity 快速入门
SpringSecurity 快速入门
62 3
|
10月前
|
SQL 存储 Java
SpringBoot集成Liquibase
SpringBoot集成Liquibase
208 0
|
存储 NoSQL Java
SpringData快速入门
SpringData快速入门
|
3月前
|
Java API 时序数据库
springboot如何配置influxdb
【6月更文挑战第24天】springboot如何配置influxdb
231 0
|
3月前
|
Java 数据安全/隐私保护 Spring
SpringSecurity6从入门到实战之SpringSecurity快速入门
这篇文章是关于使用SpringSecurity 6进行快速入门的教程。首先介绍了所需的环境配置,包括SpringSecurity 6.0.8、SpringBoot 3.0.12和JDK 17。接着,通过步骤展示了如何创建一个新的SpringBoot工程,并添加Web支持。然后,运行工程并测试了Hello接口,确保其正常工作。之后,引入SpringSecurity依赖后,无需额外配置,系统即实现了基础的认证功能,自动重定向到登录页面。文章通过截图详细说明了这个过程,包括控制台日志、登录页面以及登录后的资源访问。
|
4月前
|
SQL XML 人工智能
Liquibase 常见问题解答
Liquibase 常见问题解答
|
SQL 运维 Java
SpringBoot集成Flyway
Flyway:官方解释:Flyway 将 DevOps 扩展到您的数据库,以加速软件交付并确保代码质量。从版本控制到持续交付,Flyway 以应用程序交付流程为基础,实现数据库部署自动化。 官方解释总是那么拗口和不说人话,当然通过加粗的关键字我们基本也能够了解到Flyway的功能特性。 通俗来说,Flyway可以作为数据库迁移工具服务到我们的应用程序升级发布流程中,减少人为处理sql脚本带来的繁琐和易出错问题。 例如,当我们的一个业务微服务从1.5.0升级到1.5.1的时候涉及到数据库的改动(DDL、DML)可以交给Flyway处理,我们无需关心。
867 0
|
11月前
|
SQL Java 数据库
[笔记]Springboot入门《三》springboot集成Quartz简单使用+数据库
[笔记]Springboot入门《三》springboot集成Quartz简单使用+数据库
|
存储 NoSQL Java
SpringBoot 整合 MongoDB|学习笔记
快速学习 SpringBoot 整合 MongoDB
292 0
SpringBoot 整合 MongoDB|学习笔记
|
Java
日志 - 快速入门(SpringBoot 版)
日志 - 快速入门(SpringBoot 版)
142 0
日志 - 快速入门(SpringBoot 版)