Liquibase始终生成用于创建/删除索引的变更集

时间:2017-02-03 21:38:16

标签: java database maven indexing liquibase

我刚刚开始使用Liquibase而且我想知道:为什么当我运行./mvnw compile liquibase:diff时生成的更改集首先删除现有索引,然后如果它们已经存在则重新创建它们?

例如:

 <changeSet author="me (generated)" id="1486157347995-13">
      <dropIndex indexName="my_idx" tableName="notification"/>
      <createIndex indexName="my_idx" tableName="notification">
         <column name="index_col"/>
      </createIndex>
</changeSet>

1 个答案:

答案 0 :(得分:2)

可能出于“懒惰”。

这是确保创建的索引(不仅是名称,而是使用的列)与参考数据库中的索引相同的简单方法。

它在一个处理两个差异案例:

  • 目标数据库中缺少索引名称
  • 相同的索引名称,但定义不同。