【发布时间】:2012-06-10 09:43:06
【问题描述】:
我正在尝试在 liquibase 中执行以下changeSet,它应该会创建一个索引。如果索引不存在,它应该静默失败:
<changeSet failOnError="false" author="sys" id="1">
<createIndex unique="true" indexName="key1" tableName="Table1">
<column name="name" />
</createIndex>
</changeSet>
到目前为止,一切都很好。问题是,这个changeSet 没有登录到 DATABASECHANGELOG 表中,因此每次 liquibase 运行时都会执行。根据 liquibase 文档,例如this answer 来自 Nathen Voxland 我认为变更集应该在 DATABASECHANGELOG 表中标记为已运行。相反,它根本没有记录,正如我之前所说的,每次 liquibase 运行时都会执行(并且每次都失败)。
我错过了什么吗?
(我使用 MySQL 作为 DBMS)
【问题讨论】:
标签: sql database-schema database-migration liquibase