我正在尝试changeSet
在应该创建索引的 liquibase 中执行以下操作。如果索引不存在,它应该默默地失败:
<changeSet failOnError="false" author="sys" id="1">
<createIndex unique="true" indexName="key1" tableName="Table1">
<column name="name" />
</createIndex>
</changeSet>
到现在为止还挺好。问题是,这changeSet
不会登录到 DATABASECHANGELOG 表中,因此每次 liquibase 运行时都会执行。根据 liquibase 文档,例如来自 Nathen Voxland 的这个答案,我认为变更集应该在 DATABASECHANGELOG 表中标记为运行。相反,它根本没有记录,正如我之前所说的,每次 liquibase 运行时都会执行(并且每次都失败)。
我错过了什么吗?
(我使用 MySQL 作为 DBMS)