#liquibase #changeset
#liquibase #набор изменений
Вопрос:
Я использую liquibase для управления своей БД и начал проект с одного набора изменений, в котором создаются все основные таблицы. Теперь мой клиент хочет изменить эту базу данных, и я запускаю дополнительные наборы изменений, но я боюсь, что через некоторое время это станет беспорядком (например, разработчикам будет нелегко читать), поскольку первый набор изменений теперь не является реальным представлением схемы базы данных.
Пример :
<changeset id="1" author="natty">
<createTable tableName="my_table">
<column name="my_column" type="integer" />
</createTable>
</changeset>
<changeset id="2" author="natty">
<addColumn tableName="my_table">
<column name="another_column" type="varchar(10)" />
</addColumn>
</changeset>
[...]
<changeset id = "100" author="natty">
...
</changeset>
Теперь мне нужно полное знание всех наборов изменений, чтобы понять схему моей базы данных.
Как я могу избежать наличия нескольких наборов изменений?
Ответ №1:
Вы не должны изменять свои наборы изменений. Предполагается, что вы должны добавлять только новые наборы изменений. Изменение наборов изменений является антишаблоном.
Если вам нужно добавить изменения в схему вашей базы данных, вы должны сохранить существующие наборы изменений и написать новые.
Если вы не хотите, чтобы ваш файл журнала изменений был слишком большим, создайте родительский файл журнала изменений и несколько дочерних файлов журнала изменений (см. Теги include или includeAll ). Вы можете создавать новый дочерний файл журнала изменений, например, каждый месяц, или каждую неделю, или по какой-либо другой логике.
И если вы действительно хотите обрезать свой список изменений, я предлагаю вам сначала прочитать статью «Обрезка журналов изменений».