【发布时间】:2019-09-02 23:17:18
【问题描述】:
我正在开发一个使用 Liquibase(连接到 Postgres 容器)的 Spring Boot 应用程序(使用 Maven)。我想在运行时手动运行 liquibase,但我真的不知道该怎么做。我想要一个选项来触发我的应用程序运行并启动 liquibase。
我在 application.properties 文件上关闭了 liquibase,它确实阻止了 liquibase 在启动时运行,但我没有找到任何方法在运行时触发它。
【问题讨论】:
-
如果您查看
SpringLiquibase是如何创建的here,您可以基本了解如何在运行时执行。注意main方法在#afterPropertiesSet中执行 -
看过之后,我明白当我将 spring.liquibase.enabled 属性设置为 false 时,spring 甚至不会创建 SpringLiquibase bean。我不能使用 AnnotationConfigApplicationContext 来获取那个 Bean,因为这些 bean 甚至都没有被创建。您能否具体说明我缺少什么,或者我对解决方案的理解不够好。
-
也许可以尝试在github上创建一些项目,我可以帮助你。
标签: java spring maven liquibase