Liquibase maven plugin:找不到数据库更新日志表,PostgreSQL



我正在使用liquibase maven插件(版本3.10.0(,我正在尝试应用现有的迁移。在应用迁移之前,我使用简单的 sqlcreate database test创建数据库

之后,我执行以下 maven 命令

>mvn liquibase:update -Dliquibase.url=jdbc:postgresql://localhost:5432/test?currentSchema=public -Dliquibase.username=postgres -Dliquibase.password=postgres -Dliquibase.context=dev

但是,完成后,我遇到了以下错误

[ERROR] Could not release lock liquibase.exception.LockException: liquibase.exception.DatabaseException: Error executing SQL UPDATE databasechangeloglock SET LOCKED = FALSE, LOCKEDBY = NULL, LOCKGRANTED = NULL WHERE ID = 1: ERROR: relation "databasechangeloglock" does not exist

Error executing SQL SELECT MAX(ORDEREXECUTED) FROM databasechangelog: ERROR: relation "databasechangelog" does not exist

我的 liquibase maven 插件配置如下

<build>
<plugins>
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>${liquibase-maven-plugin.version}</version>
<configuration>
<databaseChangeLogLockTableName>databasechangeloglock</databaseChangeLogLockTableName>
<databaseChangeLogTableName>databasechangelog</databaseChangeLogTableName>
<changelogSchemaName>public</changelogSchemaName>
<defaultSchemaName>public</defaultSchemaName>
<driver>org.postgresql.Driver</driver>
<changeLogFile>${basedir}/src/main/resources/liquibase/changelog-master.xml</changeLogFile>
</configuration>
</plugin>
</plugins>
</build>

我把这个配置放到专用的 maven 模块中。

我遇到了同样的问题,原来是 postgresql db jar 版本问题,请尝试使用最新的 postgresql 驱动程序 jar 更新您的 pom

<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.11</version>
</dependency>

最新更新