Поддержка Flyway для Groovy-миграции и условной вставки данных для конкретной среды.

Мы работаем над проектом Grails и изучаем Flyway как инструмент для миграции баз данных.

В нашей текущей архитектуре мы полагаемся на сценарии миграции Groovy (выполняемые при запуске приложения) для условной вставки данных, специфичных для среды (скажем, «некоторые данные» в «таблице А» для производства против «других данных» в той же таблице). tableA' для подготовки к производству).

Q1. Поддерживает ли Flyway сценарии миграции Groovy?

Q2. Если нет, то как лучше всего добиться условной вставки данных, специфичных для среды?


person Anubhaw    schedule 31.10.2012    source источник


Ответы (1)


Q1. Миграции на основе Java загружаются как двоичные классы во время выполнения. Здесь не должно иметь значения, был ли источник Java или Groovy. Так что да, написание их в Groovy должно сработать.

Вопрос 2. Flyway поддерживает несколько местоположений для загрузки миграций. Затем эти местоположения можно настроить по-разному для каждой среды (в вашем случае для PROD и PRE-PROD). Вы можете использовать это для включения различных данных в зависимости от среды, в которой работает Flyway.

person Axel Fontaine    schedule 31.10.2012
comment
Спасибо за быстрый ответ! Немного подробностей о том, что «местоположения могут быть настроены по-разному для каждой среды», были бы очень полезны. Я вижу, что мы можем предоставить «разделенный запятыми список местоположений в пути к классам для рекурсивного сканирования на наличие миграций», используя свойство flyway.locations, но как настроить разные местоположения для каждого Окружающая среда? - person Anubhaw; 01.11.2012
comment
Это не часть самого Flyway. Просто настройте его так же, как вы настраиваете другие параметры среды. - person Axel Fontaine; 03.11.2012
comment
Я столкнулся с проблемой Groovy 2.3.x. Это, похоже, будет исправлено, когда выйдет Groovy 2.4. - person Hans Westerbeek; 06.12.2014