Будет ли удаление строки таблицы DatabaseChangeLog отменить мои изменения? - PullRequest
0 голосов
/ 26 февраля 2020

Мы управляем нашими миграциями через ликвидазу. Один из моих коллег выполнил перенос обновленной версии службы, которая развернута, и теперь база данных и служба не синхронизированы c. Изменения были в том, что две колонки были отброшены. Я вижу изменения в таблице DatabaseChangeLog в oracle. Если мне нужно быстро отменить его, я должен просто удалить набор изменений, который отбросил эти столбцы, и добавит ли этот столбец обратно в базу данных или нет?

1 Ответ

2 голосов
/ 26 февраля 2020

Нет, если столбцы были удалены, то они будут удалены, и все данные, которые были в этих столбцах, будут потеряны. Если вы хотите повторно добавить столбцы, вам нужно добавить новый набор изменений в список изменений файл , чтобы повторно добавить эти столбцы, а затем запустить liquibase update, чтобы создать столбцы. может быть в состоянии использовать команду liquibase rollback для отмены изменений, но для того, чтобы это работало, наборы изменений, которые отбрасывали столбцы, должны были бы сохранить данные в другом месте, а затем иметь способ восстановить эти сохраненные данные. Я предполагаю, что у вас этого нет - но проверьте, есть ли в файле журнала изменений раздел <rollback> в каждом из двух наборов изменений.

Таблица DATABASECHANGELOG и строки в ней просто отслеживают, какие из них Наборы изменений в файле журнала изменений были развернуты в этой базе данных.

Эта страница на веб-сайте, посвященном жидкостям, довольно хорошо объясняет некоторые концепции. Если что-то неясно, команда Liquibase хотела бы получить обратную связь. Лучший способ предоставить обратную связь с документацией - подать вопрос по номеру https://github.com/liquibase/liquibase.github.com/

...