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

文章讲述了在使用pdmaner从pg数据库导入表结构时遇到的问题,即所有schema下的同名表都显示。作者通过后端工程修复,发现需调整DBDialectPostgreSQLByQuery中的代码以筛选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替换该目录文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值