pdmaner从pg数据库导入表结构,无法筛选schema的问题处理

一、问题描述

在这里插入图片描述
如图,不同schame下同名的表全部显示,我使用的版本是4.7.0。
一开始尝试使用currentSchema,但无效。

jdbc:postgresql://ip:端口/数据库?currentSchema=xxschema

后来找到官方仓库,检索发现已有人提出过问题。
官方仓库地址: https://gitee.com/robergroup/pdmaner
在这里插入图片描述
在这里插入图片描述
按该回答使用此配置也不生效,实际未修复此问题。

jdbc:postgresql://IP地址:端口号/数据库名?metaFromSQL=1&schemaOwner=数据库名

二、问题解决

2.1.后端工程搭建并修复问题

下载地址: https://gitee.com/robergroup/chiner-java.git

2.1.1 找到问题类

DBDialectPostgreSQLByQuery.java
在这里插入图片描述

2.1.2 调整问题代码

在这里插入图片描述
新增红框中的一行代码,如下

" join pg_namespace e on e.nspname = tb.table_schema and e.oid = c.relnamespace"+ //筛选schema

在这里插入图片描述
解决字段重复问题

" join pg_namespace e on e.nspname = col.table_schema and e.oid = c.relnamespace\n "+

2.2 替换原始程序

2.2.1 打包

执行命令

mvn package -DskipTests

在这里插入图片描述

2.2.2 替换

进入安装目录

PDManer-win_v4.7.0\win-ia32-unpacked\resources\app.asar.unpacked\build\jar

在这里插入图片描述

将新编译的jar替换该目录文件