Как использовать FluentConfiguration способом ClassicConfiguration - PullRequest
0 голосов
/ 20 февраля 2019

Мы удаляем устаревшие установщики конфигурации на объекте Flyway, как рекомендуется в сообщении об ошибке:

Прямая конфигурация объекта Flyway устарела и будет удалена в Flyway 6.0.Вместо этого используйте Flyway.configure ().

В документации говорится, что вы должны свободно использовать конфигурацию:

Flyway flyway = Flyway.configure().dataSource(url, user, password).load();  
flyway.migrate();

Метод завершения нагрузки () создает объект Flyway.

Но мы используем один и тот же экземпляр объекта Flyway в разных местах, в рамках циклов или условий, например, для работы с несколькими базами данных на разных хостах.Как настроить конфигурацию после того, как объект уже создан?

Flyway flyway = Flyway.configure().dataSource(url, user, password).load();

if (some-condition)
    {
        flyway.setSchemas(schemaName)
    }

Будем ли мы брать конфигурацию и настраивать ее?Нужно ли снова вызывать load ()?

if (some-condition)
    {
        flyway.getConfiguration().schemas(schemaName)
    }

Но если мы это сделаем, обновим ли мы конфигурацию нашего пролетного объекта или копию его конфигурации?

org.flywaydb.core.Flyway: 167, похоже, говорит, что создает копию:

   public Configuration getConfiguration() {
        return new ClassicConfiguration(configuration);
    }

Итак, как наш экземпляр объекта Flyway воспримет наши изменения?

...