是否可以生成变更日志,将变更集合并在一起?
赞:
<changeSet author="Author" id="1">
<dropNotNullConstraint columnDataType="varchar(255)" columnName="name" tableName="table"/>
<dropNotNullConstraint columnDataType="varchar(255)" columnName="phone" tableName="table"/>
<dropNotNullConstraint columnDataType="bigint" columnName="email" tableName="table"/>
</changeSet>
代替这个:
<changeSet author="Author" id="1">
<dropNotNullConstraint columnDataType="varchar(255)" columnName="name" tableName="table"/>
</changeSet>
<changeSet author="Author" id="2">
<dropNotNullConstraint columnDataType="varchar(255)" columnName="phone" tableName="table"/>
</changeSet>
<changeSet author="Author" id="3">
<dropNotNullConstraint columnDataType="bigint" columnName="email" tableName="table"/>
</changeSet>
如果是这样,您可以选择自定义范围吗? (例如在给定表中的所有更改都分组在一起,例如等)。如果不是,是否有“最佳实践”理由避免手动分组?
答案 0 :(得分:1)
如果您的意思是命令generateChangeLog,则否,没有选择将所有更改放入一个changeLog
中的选项。但是,您可以根据需要以编程方式创建该代码。
Liquibase应该按changeSet
进行更改,因为每个changeSet
是在一个事务中执行的 read here。因此,如果您在一个changeSet
中包含许多更改,而该changeSet
的执行失败,那么您将很难找到失败的更改。最好按changeSet
处理更改。
注意::有时我还会对changeSet
使用多个更改(例如,对表或DML(数据)修改的注释(注释)),但我更喜欢每个changeSet。