Возможно ли автоматическое обновление в виде Terraform с помощью жидкой базы / пролетного пути?

Мы все еще находимся на ранних этапах нашего проекта, и мы создаем базу данных с несколькими таблицами. Оба перечисленных инструмента позволяют нам создавать некоторые файлы DDL/DML и отслеживать изменения в БД. В любом случае это может быть громоздким, когда структура еще не консолидирована.

Предположим, я хочу добавить новый столбец или даже удалить таблицу: в обеих программах мне нужно создать новый скрипт с помощью ALTER TABLE/etc. команда и документ изменения.

В terraform вы просто пишете желаемую инфраструктуру, а когда вы изменяете файл, удаляя узел, инструмент обновляет только то, что уже есть.

Можно ли будет просто перечислить таблицы в файле, и когда я, например, удаляю определение таблицы, инструмент просто обновляет существующую схему? То же самое, если кто-то изменяет схему с помощью другого инструмента.

1 ответ

До тех пор, пока вы не возражаете против потери данных (звучит так, как будто это может быть хорошо с вашего вопроса), Flyway имеет cleanOnValidationError флаг.

Таким образом, вы можете работать с одним (или несколькими) файлами SQL, и как только вы запустите миграцию и изменился ранее запущенный файл, Flyway сообщит об ошибке проверки, которая, в свою очередь, очистит схему перед тем, как Flyway немедленно настроит все заново. в соответствии с последними определениями.

Они невероятно полезны для быстрых итераций в разработке.

Другие вопросы по тегам