***更新,相信已经解决了**
https://dev.to/sruhleder/creating-user-profiles-on-sign-up-in-supabase-5037
如果您遇到此问题,请查看上面的链接
我正在制作下一个js项目,我已经安装了supabase并且可以很好地用于注册/登录等。
我已经开始创建函数,一个将详细信息从 auth.user 表移至 public.user 表的函数。
那不起作用,所以我创建了一个日志记录表来检查我是否可以从 auth.users 获取数据并在创建 auth.user 时插入到日志记录表中。
这也行不通。
当我手动将新用户插入身份验证表时,触发器和函数有时会运行。这些用户未经验证。
我通过 JS API 创建的用户是自动验证的(我取消了验证的需要)。
所以这真是一件令人困惑的事情,我已经看了几个小时了,不知道为什么会发生这种情况。
我的代码
CREATE TRIGGER handle_auth_user
AFTER INSERT ON auth.users
FOR EACH ROW
EXECUTE FUNCTION on_auth_user_created();
FUNCTION on_auth_user_created()
RETURNS TRIGGER AS $$
BEGIN
INSERT INTO logging (id)
VALUES (NEW.id);
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
在上面的这个函数中 ^ 如果函数中没有任何内容,那么一切都会正常,例如,没有插入。提出通知确实有效。但是一旦发生插入,API JS 就不允许我添加用户。大多数时候,我无法手动插入它们。
尝试提供公共访问权限等。尝试将多个不同的表插入等。
有一个 YouTube 视频证实这应该有效。我可能必须从头开始并重试,但我非常困惑
你有什么想法吗?
谢谢
尝试过触发器和功能。期望当 Auth.user 创建时,可以插入到任何表中。
更新:
创建了一个新项目,向 auth.users 和日志表授予了所有权限。
使用 anon 角色进行测试,可以插入日志记录并从 auth.users 读取。而且触发器和功能仍然会失败。