配置文件编写的示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd">
<changeSet author="authorName" id="changelog-1.0">
<createTable tableName="TablesAndTables">
<column name="COLUMN1" type="TEXT">
<constraints nullable="true" primaryKey="false" unique="false"/>
</column>
</createTable>
</changeSet>
</databaseChangeLog>
配置文件以一个个changeSet组成。changeSet的操作分为以下几类
add
| 标签 |
说明 |
| addAutoIncrement |
将已存在的列改为自增列 |
| addColumn |
增加列 |
| addDefaultValue |
增加列的默认值 |
| addForeignKeyConstraint |
增加外键 |
| addLookupTable |
创建外键的关联表 |
| addNotNullConstraint |
增加非空值约束 |
| addPrimaryKey |
增加主键 |
| addUniqueConstraint |
增加唯一值约束 |
create
| 标签 |
说明 |
| createIndex |
创建索引 |
| createProcedure |
创建存储过程 |
| createSequence |
创建序列 |
| createTable |
创建表 |
| createView |
创建视图 |
drop
| 标签 |
说明 |
| dropAllForeignKeyConstraints |
删除全部外键约束 |
| dropColumn |
删除列 |
| dropDefaultValue |
删除默认值 |
| dropForeignKeyConstraint |
删除某一外键约束 |
| dropNotNullConstraint |
删除空值约束 |
| dropPrimaryKey |
删除主键 |
| dropProcedure |
删除存储过程 |
| dropSequence |
删除序列 |
| dropTable |
删除表 |
| dropUniqueConstraint |
删除唯一约束 |
| dropView |
删除视图 |
rename
| 标签 |
说明 |
| renameColumn |
重命名列 |
| renameSequence |
重命名序列 |
| renameTable |
重命名表 |
| renameView |
重命名视图 |
sql
| 标签 |
说明 |
| sql |
sql语句 |
| sqlFile |
sql文件 |
其他
| 标签 |
说明 |
| insert |
插入数据 |
| update |
更新数据 |
| delete |
删除数 |
| empty |
空操作 |
| executeCommand |
执行命名 |
| alterSequence |
修改序列 |
| customChange |
自定义操作,需自己实现 |
| loadData |
导入csv数据至已存在的表中 |
| loadUpdateData |
导入csv数据至表中,表不存在则新建 |
| mergeColumns |
合并列 |
| modifyDataType |
修改数据类型 |
| output |
输出日志 |
| setColumnRemarks |
增加列说明 |
| setTableRemarks |
增加表说明 |
| stop |
停止liquibase |
| tagDatabase |
打标签用于将来回滚 |
详细的操作说明见https://docsstage.liquibase.com/change-types/community/home.html