liquibase
一个changelog中有多个sql语句时,如果后边报错,前边的sql执行成功后是不会回滚的,所以最好分开写sql
<changeSet author="lihao" id="datamgr-20180930-0011"> <createTable schemaName="${schema.dlsys}" tableName="table1"> <column name="table_id" type="integer" remarks="表ID"></column> <column name="group_id" type="integer" remarks="分组ID"></column> <column name="group_name" type="varchar(50)" remarks="分组名称"></column> <column name="order_id" type="integer" remarks="排序"></column> </createTable> <createTable schemaName="${schema.dlsys}" tableName="table2"> <column name="group_id" type="integer" remarks="分组ID"></column> <column name="field_id" type="integer" remarks="字段ID"></column> <column name="field_name" type="integer" remarks="字段名称"></column> <column name="order_id" type="varchar(220)" remarks="排序"></column> </createTable> </changeSet>
比如说:
table1表创建成功了,但是在执行table2创建的时候没成功, 则数据库中table1依然存在