PostgreSQL UUID 关系过滤失败: 关系 _id 被拒绝,UUID 过滤器使用 ILIKE
** 核对清单**
- 我搜索了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可见,但过滤失败有两种不同的方式.
- 由相关的Budibase ' id ' 过滤数据提供者
使用 :
人.-id'-等量'-有效的相关Budibase-` id'
立即给:
`无效过滤场:人员. id'
从相相关的 " 人 " 一行导出的有效Budibase :
“5B'f69df1ee-4c9e-561b-a24d-1af57af203bf'%5D”
同一行的PostgreSQL“人”是指:
`f69df1ee-4c9e-561b-a24d-1af57af203bf'
- 直接过滤本地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
** 废除**
- 将Budibase连接到一个外部的PostgreSQL数据库。
- 使用本地 PostgreSQL UUID 主键导入两个表格。
- 第二表应包含第一个表的UUID外键。
- 在Budibase用这些钥匙界定一对一的关系。
- 利用儿童表格创建数据提供者。
- 添加一个使用
关系-名称. id'的过滤器,等于一个有效的相关Budibaseid'。 - 观察:`无效过滤场:关系 名称. id'。
- 或者,打开外部SQL表并过滤/搜索本地UUID外国密钥列。
- 观察:`操作者不存在:uuid {{}不知道'。
** 预期行为**
相关的行应该可以过滤而不需要自定义的 SQL 查询.
我期望其中至少有一种办法能够奏效:
- 使用`关系-名称.-id'过滤关系,特别是因为关系--id'过滤被添加到PR中 . . . . . . .
内容来源: Budibase/budibase