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替换该目录文件