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

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

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

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

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

1 Ответ

0 голосов
/ 04 мая 2018

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

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

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

...