#19673·budibase

PostgreSQL UUID 关系过滤失败: 关系 _id 被拒绝,UUID 过滤器使用 ILIKE

作者: RudiVL创建于 2026年9月13日更新于 2026年9月16日
标签bugbb-sqlenv - productionbb-filteringdata

** 核对清单**

  • 我搜索了budibase讨论 和GitHub问题 检查我的问题是否已经存在

相关议题/工作包括#18787,#16123和PR#19127,但我仍然可以在更新的建筑上复制,并使用外部的PostgreSQL数据源.

** 住房**

  • 自杀
  • 方法: Docker 单一图像
  • Budibase 版本: v3.43.0-云.
  • App版本:v3.43.0-云2

** 描述错误**

我使用一个外部的PostgreSQL/Supabase数据源,有本地的PostgreSQL " uuid " 主密钥和外国密钥。

两个相关的表格:

  • " 人员 "
  • 主要钥匙:`人-id uuid'
  • " 设计简介 "
  • 主要钥匙:`candidate profile id uuid'
  • 外国密钥: " person id uuid - " person. person id "

我在Budibase定义了这种关系:

  • 一行: " 人 "
  • 主要钥匙: " person id "
  • 在许多行:`candidate-profiles'
  • 外国钥匙:`人-id'

这种关系在Budibase可见,但过滤失败有两种不同的方式.

  1. 由相关的Budibase ' id ' 过滤数据提供者

使用 :

人.-id'-等量'-有效的相关Budibase-` id'

立即给:

`无效过滤场:人员. id'

从相相关的 " 人 " 一行导出的有效Budibase :

“5B'f69df1ee-4c9e-561b-a24d-1af57af203bf'%5D”

同一行的PostgreSQL“人”是指:

`f69df1ee-4c9e-561b-a24d-1af57af203bf'

  1. 直接过滤本地UUID外键列

如果我使用 “ person id” 过滤/搜索外部 SQL 表格, 网格失败 :

`操作员不存在:uuid {}未知'

这似乎意味着Budibase正在对一个本地的PostgreSQL " uuid " 一栏实施文字/ILIKE操作。

重取外表不能克之.

Budibase使用的同一种PostgreSQL角色可以毫无问题地直接查询数据.

例如:

选择 候选( P) 个人编号 从 public.candidate profiles 开始 其中人员 id= f69df1ee-4c9e-561b-a24d-1af57af203bf':uuid; 维基语录链接:名人名言 - 文学作品 - 谚语 - 谚语

正确返回 :

候选( P) 603e1cf2-b411-5fc7-b8d2-5d4e36939cfcfc

个人编号( D): f69df1ee-4c9e-561b-a24d-1af57af203bf

** 废除**

  1. 将Budibase连接到一个外部的PostgreSQL数据库。
  2. 使用本地 PostgreSQL UUID 主键导入两个表格。
  3. 第二表应包含第一个表的UUID外键。
  4. 在Budibase用这些钥匙界定一对一的关系。
  5. 利用儿童表格创建数据提供者。
  6. 添加一个使用关系-名称. id'的过滤器,等于一个有效的相关Budibase id'。
  7. 观察:`无效过滤场:关系 名称. id'。
  8. 或者,打开外部SQL表并过滤/搜索本地UUID外国密钥列。
  9. 观察:`操作者不存在:uuid {{}不知道'。

** 预期行为**

相关的行应该可以过滤而不需要自定义的 SQL 查询.

我期望其中至少有一种办法能够奏效:

  1. 使用`关系-名称.-id'过滤关系,特别是因为关系--id'过滤被添加到PR中 . . . . . . .

内容来源: Budibase/budibase