9

У меня есть среда, где я использую несколько баз данных (A и B) с разными наборами эволюций для каждого, таким образом, полностью успешно. Тем не менее, один набор изменений базы данных всегда применяется сначала, все эволюции для базы данных B применяются до любой эволюции для базы данных A.Порядок воспроизведения Evolutions в нескольких базах данных

Мы проводим крупную реструктуризацию, и это приводит к некоторому перекрестному запросу базы данных для переноса базы данных B в будущее, но поскольку сначала выполняются эволюции для базы данных B, изменения в базе данных A еще не состоялись и эволюция терпит неудачу.

Есть ли способ изменить/определить приоритетность порядка, в котором изменения баз данных применяются между несколькими базами данных с использованием разных наборов эволюций?

+0

это возможность включить базу данных, которую вы хотите применить в первую очередь, и отключить другую? – runcode

ответ

0

К сожалению, я не думаю, что есть способ сделать это в данный момент. Играть просто iterates over the databases и запускает эволюции для каждого из них:

dbApi.databases().foreach(runEvolutions) 

Последовательности баз данных происходит от конфигурации карты, так что нет никакого способа для вас, чтобы гарантировать порядок, в котором читается.

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

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