首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尽管设置了行级策略,但未从IHP DataSync获得结果

尽管设置了行级策略,但未从IHP DataSync获得结果
EN

Stack Overflow用户
提问于 2021-11-12 19:33:04
回答 1查看 33关注 0票数 1

我想在我当前的应用程序上使用DataSync,使用IHP0.16。我相信我已经遵循了FrontController和Routes中的所有安装步骤。

我有一个characters表,它有一个连接到users表的user_id列。我已经在characters表上设置了生成以下SQL的策略:

代码语言:javascript
复制
CREATE POLICY "Users can manage their characters" ON characters USING (user_id = ihp_user_id()) WITH CHECK (user_id = ihp_user_id());
ALTER TABLE characters ENABLE ROW LEVEL SECURITY;

尝试在JavaScript控制台中运行此命令

代码语言:javascript
复制
await query("characters").fetch()

我在JavaScript输出中得到以下错误:

以及IHP输出中的以下错误:

代码语言:javascript
复制
Query (2.119753ms): "SELECT relrowsecurity FROM pg_class WHERE oid = ?::regclass" ["characters"]
Query (0.111442ms): "SET LOCAL ROLE ?" [Identifier {fromIdentifier = "ihp_authenticated"}]
Query (0.130888ms): "SET LOCAL rls.ihp_user_id = ?" Only {fromOnly = Just 0d7b46b1-bcb4-46a2-bf77-ad27dace8416}
FormatError {fmtMessage = "1 single '?' characters, but 3 parameters", fmtQuery = "SELECT ? FROM ??", fmtParams = ["*","characters",""]}

这似乎是另一个错误,而不是IHP文档中DataSync教程中的行级安全错误。你知道是什么导致了这个错误吗?

EN

回答 1

Stack Overflow用户

发布于 2021-11-12 19:42:32

这是IHP v0.16.0中的已知错误。It's already fixed in master

最好使用位于https://ihp.digitallyinduced.com/Guide/realtime-spas.html的介绍文本中提到的版本的国际水文计划DataSync :)

顺便说一句,如果你不想升级,有一个解决方法:你总是需要指定一个order by,比如await query("characters").orderBy('createdAt').fetch()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69948205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档