Меньшие наборы изменений при генерации журналов изменений - PullRequest
0 голосов
/ 28 февраля 2019

Можно ли создавать журналы изменений, объединяя наборы изменений вместе?

Примерно так:

<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>

Если да, можете ли вы выбрать настраиваемую область?( например, все изменения в данной таблице сгруппированы вместе, и т. Д. ).Если нет, то есть ли «лучшая практика», позволяющая избегать их группировки вручную?

1 Ответ

0 голосов
/ 28 февраля 2019

Если вы имеете в виду команду generateChangeLog , то нет, нет возможности поместить все изменения в один changeLog.Однако вы можете создать это программно, если вам нужно.

Liquibase должен меняться на changeSet, потому что каждая changeSet выполняется в одной транзакции , читайте здесь .Таким образом, если вы включите много изменений в один changeSet и выполнение этого changeSet не удастся, вам будет сложнее найти, в каком изменении это не получилось.Лучше обрабатывать изменения за changeSet.

примечание: иногда я также использую несколько изменений на changeSet (например, замечания (комментарии) для таблиц или DML (данные) модификации), но я предпочитаю иметь один DDL наизменение.

...