Как обрабатывать несколько схем за одну миграцию с помощью flyway - PullRequest
0 голосов
/ 27 февраля 2020

Я совершенно новичок в Flyway, но я пытаюсь перенести несколько идентичных тестовых баз данных, используя схему docker comppose flyway + mysql, описанную в https://github.com/flyway/flyway-docker

Как Насколько я могу судить, команда migrate может принимать несколько схем в своем аргументе -schemas, но кажется, что она применяет только фактическую миграцию SQL к первой схеме в списке.

Например, когда я запускаю миграцию с schemas=test_1,test_2,test_3, flyway создает все три базы данных, но создает только таблицы, указанные в файле миграции для первой базы данных test_1.

Есть ли способ применить файл миграции SQL ко всем схемам в списке?

1 Ответ

0 голосов
/ 28 февраля 2020

Я собираюсь оставить этот вопрос без ответа, если кто-то еще может ответить, насколько полезны несколько схем, если файл миграции не применяется ко всем базам данных в списке. Но я смог обработать несколько баз данных в docker -композиции, переопределив пролетные пути entrypoint и command.

Так что теперь мой docker -композитный сервис выглядит следующим образом:

services:
  flyway:
    image: flyway/flyway:6.1.4
    volumes:
      - ./migrations:/flyway/sql
    depends_on:
      - db
  entrypoint: ["bash"]
  command: > -c "/flyway/flyway -url=jdbc:mysql://db -schemas=test1 migrate;
                 /flyway/flyway -url=jdbc:mysql://db -schemas=test2 migrate"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...