所有人!我遇到了一个问题。我有SpringBoot应用与Spring和清算基础。当我执行mvn安装时,我的测试失败了,因为清算库没有运行。有什么问题吗?Liquibase工作正常。当我使用liquibase:update或者只是运行一个应用程序时,一切都很好。我使用mySQL db作为应用程序,也用于测试。我甚至不知道你需要看什么代码。
通过这种方式,我连接到db进行测试:
@Configuration
public class SpringJdbcConfig {
@Bean
DataSource getDataSource() throws SQLException {
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setDatabaseName("correct_db");
dataSource.setServerName("localhost");
dataSource.setPort(3306);
dataSource.setUser("bestuser");
dataSource.setPassword("bestuser");
dataSource.setServerTimezone("UTC");
return dataSource;
}
@Bean
public DataSourceTransactionManager transactionManager() throws SQLException {
return new DataSourceTransactionManager(getDataSource());
}
发布于 2022-05-11 20:59:26
通过Maven插件和Spring集成运行liquibase是运行液化库的完全不同的方式,即使这两个方法都是通过调用Maven来触发的。
当您运行mvn liquibase:update
时,您正在调用在pom文件的<plugins>
部分中配置的liquibase-maven-plugin
。它是作为Maven构建的特定步骤运行的,比如compile
或package
或者,您可以将Spring应用程序配置为在spring应用程序启动时自动运行Liquibase更新逻辑。您可能正在通过Maven启动Spring应用程序,但在这一点上触发Liquibase的仍然是Spring。
如果您在应用程序启动中没有看到关于Liquibase更新操作失败的任何错误,这可能是因为您在实际应用程序中没有Liquibase作为依赖项。即使配置了液化基maven- plugin插件,仍然需要添加一个
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>4.10.0</version>
</dependency>
依赖于您的应用程序在其中运行Liquibase。
https://stackoverflow.com/questions/71954618
复制相似问题