2013-03-18 3 views
2

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

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

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

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

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

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

спасибо :)

ответ

0

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

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

+1

Это то, что мы сделали, это определенно узкий прецедент. У нас есть сервис (вызванный из нашего приложения или из нового плагина maven), который запрашивает базу данных для имен схем и петли над ними, обновляя setSchema() на объекте пролетного пути и вызывая migrate() для каждого. – Dan

Смежные вопросы