1.changelog文件的<changeset>标签
一个<changeSet>标签对应一个变更集, 由属性id、name,以及changelog的文件路径唯一标识。
changelog在执行的时候并不是按照change log的id的顺序,而是按照changeSet在changelog中出现的顺序。
changelog中的一个changeSet对应一个事务,在changeSet执行完后commit,如果出现错误则rollback;
<changeSet>标签的 runAlways属性:即使已经执行过,仍然每次都执行;
<changeSet>标签的 runOnChange 属性: 由于DATABASECHANGELOG表中还记录了changeSet的MD5校验值MD5SUM,如果changeSet的id和name没变,而内容变了,则由于MD5值变了,即使runAlways的值为True,执行也是失败的,会报错。这种情况应该使用。
2.常用到的一些 changeset
建表的changeset
<changeSet author="ds" id="201908091500_T_TABLE_NAME_DDL-1">
<preConditions onFail="