Java 将Javer从3.14迁移到5.9.1

Java 将Javer从3.14迁移到5.9.1,java,javers,Java,Javers,我正在尝试在生产环境中从JaVers v3.14.0迁移到v5.9.1。我正在使用spring+hibernate。似乎5.9.1中的一个突破性变化与模式有关,因为DDL失败了 例如: aused by: org.polyjdbc.core.exception.SchemaManagerException: [DDL_ERROR] Failed to run DDL: CREATE TABLE jv_commit ( commit_pk BIGINT NOT NULL, author VARCH

我正在尝试在生产环境中从JaVers v3.14.0迁移到v5.9.1。我正在使用spring+hibernate。似乎5.9.1中的一个突破性变化与模式有关,因为DDL失败了

例如:

aused by: org.polyjdbc.core.exception.SchemaManagerException: [DDL_ERROR] Failed to run DDL:
CREATE TABLE jv_commit (
commit_pk BIGINT NOT NULL,
author VARCHAR(200),
commit_date TIMESTAMP,
commit_id NUMERIC(22,2),
CONSTRAINT jv_commit_pk PRIMARY KEY(commit_pk)
) 
...
Caused by: org.postgresql.util.PSQLException: ERROR: relation "jv_commit" already exists

谷歌在JaVers+迁移上找不到任何东西,我在发行说明或文档中也找不到任何东西。有人尝试过吗?

升级到新版本时,Javers会自动运行DB迁移脚本。因此没有迁移指南,它应该是现成的。可能您遇到的bug不是由迁移引起的。必须对其进行调试。试着在这里设置断点,并检查为什么Javers没有意识到表
jv_commit
存在(然后尝试创建它)。

这个
do{}while()
块用完了
resultSet.next()
-我的怀疑是
&!表schemaname.equalsIgnoreCase(“public”)
。在我的例子中,多个应用程序运行在同一个数据库上,并由模式分隔,因此在本例中,
jv_commit
位于名为(比如)product的模式中。所以我的第一个假设是,如果它是
public
,那么它就会达到
返回true