Мы удаляем устаревшие установщики конфигурации на объекте 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 воспримет наши изменения?