Java Liquibase始终生成用于创建/删除索引的变更集
我刚刚开始使用Liquibase,我想知道:为什么当我运行Java Liquibase始终生成用于创建/删除索引的变更集,java,database,maven,indexing,liquibase,Java,Database,Maven,Indexing,Liquibase,我刚刚开始使用Liquibase,我想知道:为什么当我运行/mvnw compile Liquibase:diff时,会生成更改集,首先删除现有索引,然后重新创建它们(如果它们已经存在) 例: 可能是因为“懒惰” 这是一种确保创建的索引与引用数据库中的索引相同(不仅是名称,而且是使用的列)的简单方法 它一次处理两种不同的情况: 目标数据库中缺少索引名称 相同的索引名称,但定义不同 太好了,谢谢您的解释。如果你有时间-另一个问题:我应该多久生成一次新的变更日志?每次数据库更新时?或者我可以只附
/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>