Ответ 1
Добавьте liquibase.enabled=false
в файл application.properties
Но если вы больше не хотите использовать липибазу из приложения, полностью удалите липибазный стартер из pom.
Я хочу, чтобы Liquibase сконфигурирован с помощью моей утилиты загрузки spring, поэтому я добавил зависимости к pom.xml и установил путь к master.xml в application.properties. Это отлично работает, а spring запускает Liquibase при запуске. Проблема в том, что теперь я хочу запускать Liquibase вручную, а не при запуске приложения. Должен ли я полностью отключить автоконфигурацию Liquibase, или я могу использовать его и отключать только запущенные оценки при запуске?
Добавьте liquibase.enabled=false
в файл application.properties
Но если вы больше не хотите использовать липибазу из приложения, полностью удалите липибазный стартер из pom.
Соответствующее имя свойства изменилось между версиями Spring:
Для Spring 4.xx: liquibase.enabled=false
приложения liquibase.enabled=false
отключает Liquibase.
Для Spring 5.xx: spring.liquibase.enabled=false
приложения spring.liquibase.enabled=false
отключает Liquibase.
PS А для Flyway:
Spring 4.xx: flyway.enabled=false
Spring 5.xx: spring.flyway.enabled=false
Если вы видите на LiquibaseProperties, есть префикс типа
prefix = "spring.liquibase"
Итак, Мое предложение состоит в том, чтобы использовать
spring.liquibase.enabled=false
Он решил мою проблему с помощью spring boot 2.0.0.RC1
Я столкнулся с проблемой, из-за которой я почему-то не смог отключить Liquibase от свойств, поэтому я отключил Liquibase с аннотацией @Bean
:
@Bean
public SpringLiquibase liquibase() {
SpringLiquibase liquibase = new SpringLiquibase();
liquibase.setShouldRun(false);
return liquibase;
}
Если вы хотите запустить Liquibase вручную, вы можете использовать плагин Liquibase maven. Просто добавьте что-то подобное вашему pom.xml:
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>${liquibase.version}</version>
<configuration>
<changeLogFile>src/main/liquibase/master.xml</changeLogFile>
<propertyFile>src/main/liquibase/liquibase.properties</propertyFile>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
</configuration>
</plugin>
Вы можете посмотреть документацию плагина для деталей конфигурации.
И не используйте поддержку Liquibase от Spring Boot, так как он предназначен только для использования во время выполнения. Просто удалите стартер жидкости и/или любые связанные зависимости, поскольку вам нужен только плагин maven.