同一数据库下不同的模式有相同表名时sqlSugar.DbMaintenance.GetTableInfoList表名重复 返回

SqlSugar 沟通中
14 769
该叫什么 Road 发布于2025/7/27
悬赏:0 飞吻

image.png

获取:

    image.png

热忱回答14

  • fate sta fate sta VIP0
    2025/7/27
       protected override string GetTableInfoListSql
       {
           get
           {
               var schema = GetSchema();
               return @"select cast(relname as varchar) as Name,
                       cast(obj_description(c.oid,'pg_class') as varchar) as Description from pg_class c 
                        inner join 
     pg_namespace n on n.oid = c.relnamespace and nspname='" + schema + @"'
                        inner join 
                        pg_tables z on z.tablename=c.relname
                       where  relkind in('p', 'r') and relname not like 'pg\_%' and relname not like 'sql\_%' and schemaname='" + schema + "' order by relname";
           }
       }


    这个sql是过滤过schema了。你看看这个SQL为什么有重复

    0 回复
  • Road Road VIP0
    2025/7/27

    @fate sta:你这个SQL没有重复,希望官方能修复一下,官方的SQL没有过滤。

    官方的SQL:

    image.png

    0 回复
  • fate sta fate sta VIP0
    2025/7/28

    目前就是这个SQL查出来的,升级最新看看

    0 回复
  • fate sta fate sta VIP0
    2025/7/28

    可能是版本低

    0 回复
  • Road Road VIP0
    2025/7/28

    @fate sta:升级了最新版本也是没有过滤的。

    image.png

    0 回复
  • fate sta fate sta VIP0
    2025/7/28

    预览版本199

    0 回复
  • fate sta fate sta VIP0
    2025/7/28

    如果预览版本还有问题,那就用源码去调试吧 。目前SQL就上是面发的

    0 回复
  • Road Road VIP0
    2025/7/28

    @fate sta

    image.png

    0 回复
  • fate sta fate sta VIP0
    2025/7/28

    你是人大金仓吗。。我搞错了

    0 回复
  • fate sta fate sta VIP0
    2025/7/28

    人大金仓描述清楚,你数据库是什么模式

    databasemodel是什么

    0 回复
  • fate sta fate sta VIP0
    2025/7/28

    或者你把改好的SQL发我

    0 回复
  • Road Road VIP0
    2025/7/28

    @fate sta:oracle模式,我没有改。 还有达梦数据库也是同样的问题。达梦数据库还会获取出来多一个##HISTOGRAMS_TABLE这个表。

    0 回复
  • Ramon Ramon VIP0
    2025/12/12

    最新版本一样有这个问题,查了源码,达梦对应的  GetTableInfoListSql  查的是 user_tables (这个视图是查询当前用户所有的表)   此时如果一个账号有两个模式(schema),两个模式有同名的表, 就会重复;

    但其实在连接字符串已经指定了schema,就希望框架能够自动区分才对

    0 回复
  • Ramon Ramon VIP0
    2025/12/12

    @fate sta

    最新版本一样有这个问题,查了源码,达梦对应的  GetTableInfoListSql  查的是 user_tables (这个视图是查询当前用户所有的表)   此时如果一个账号有两个模式(schema),两个模式有同名的表, 就会重复;

    但其实在连接字符串已经指定了schema,就希望框架能够自动区分才对


    0 回复