использование пролетного пути для исправления нескольких идентичных схем

Я внимательно прочитал документацию по пролетному пути, но мне неясно, возможен ли сценарий, который я хочу, или нет. Мне нужно исправить многие идентичные схемы в одной базе данных, но я не знаю всех имен схем в то время, когда я пишу сценарии sql.

я знаю о параметре schemas, но две возможные стратегии, упомянутые в FAQ не относятся к моему сценарию.

сценарий похож на университет, предоставляющий схемы для своих студентов:

  • я хотел бы предоставить сценарии sql без префиксов схемы для объектов
  • каждая схема должна иметь свою таблицу schema_version
  • на пролетном пути: миграция каждая схема, определенная в параметре schemas, должна быть исправлена ​​отдельно, то есть сценарии sql должны запускаться в каждой схеме.

Я знаю, что потенциальная проблема в том, что «схема» в f.ex означает нечто иное. oracle, чем в postgres, поэтому мне интересно, есть ли другой рекомендуемый способ добиться этого.

в противном случае я подумываю реализовать эту функцию сам ... есть ли шанс получить эту функцию вверх по течению, если мы сделаем это самостоятельно?

Благодарность :)


person armin walland    schedule 18.03.2013    source источник


Ответы (1)


Ваш лучший шанс - обернуть Flyway методом, который перечислит применимые схемы, а затем запустить один Flyway для каждой схемы с правильным свойством schemas.

Это действительно хорошая функция, поэтому в настоящее время я бы сказал, что шансы увидеть ее в основном дистрибутиве очень малы.

person Axel Fontaine    schedule 18.03.2013
comment
Это то, что мы сделали, это определенно узкий вариант использования. У нас есть служба (вызываемая из нашего приложения или из нового плагина maven), которая запрашивает в базе данных имена схем и перебирает их, обновляя setSchema () на объекте пролетного пути и вызывая migrate () для каждого из них. - person Dan; 06.06.2014