Liquibase 总是为 creating/dropping 索引生成变更集

Liquibase always generating changesets for creating/dropping index

我刚开始使用 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>

可能超出 "laziness"。

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

它可以同时处理两种差异情况:

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