原因:当您执行prisma migrate reset
或prisma migrate dev
在远程 Supbase 数据库中时,您可能需要重置它。重置数据库会删除整个数据库并重新创建它。资源
这将清除GRANT
PostgREST 工作所需的所有 s 您可以在 PostgREST 文档中找到错误:
https://postgrest.org/en/latest/tutorials/tut0.html?highlight=42501#step-5-run-postgrest
解决方案1:创建一个全新的项目并仅prisma migrate deploy
在远程数据库上使用。
解决方案 2:通过授予对表的访问权限来手动修复授权
您可以在全新的 Supabase 项目和损坏的数据库上运行以下 SQL 时检查差异,以观察差异。
SELECT *
FROM information_schema.role_table_grants
WHERE table_schema='public' and table_name='members'
以下默认授权取自https://github.com/supabase/supabase/blob/a2fc6d592cb4ea50fd518b99db199a31912040b9/docker/volumes/db/init/00-initial-schema.sql#L26-L29的 supabase github 存储库
grant usage on schema public to postgres, anon, authenticated, service_role;
alter default privileges in schema public grant all on tables to postgres, anon, authenticated, service_role;
alter default privileges in schema public grant all on functions to postgres, anon, authenticated, service_role;
alter default privileges in schema public grant all on sequences to postgres, anon, authenticated, service_role;
alter default privileges for user supabase_admin in schema public grant all
on sequences to postgres, anon, authenticated, service_role;
alter default privileges for user supabase_admin in schema public grant all
on tables to postgres, anon, authenticated, service_role;
alter default privileges for user supabase_admin in schema public grant all
on functions to postgres, anon, authenticated, service_role;
这是示例表的默认权限列表members
设保人 |
受赠人 |
表目录 |
表模式 |
表名 |
特权类型 |
is_grantable |
with_hierarchy |
postgres |
postgres |
postgres |
上市 |
会员 |
插入 |
是的 |
不 |
postgres |
postgres |
postgres |
上市 |
会员 |
选择 |
是的 |
是的 |
postgres |
postgres |
postgres |
上市 |
会员 |
更新 |
是的 |
不 |
postgres |
postgres |
postgres |
上市 |
会员 |
删除 |
是的 |
不 |
postgres |
postgres |
postgres |
上市 |
会员 |
截短 |
是的 |
不 |
postgres |
postgres |
postgres |
上市 |
会员 |
参考 |
是的 |
不 |
postgres |
postgres |
postgres |
上市 |
会员 |
扳机 |
是的 |
不 |
postgres |
匿名 |
postgres |
上市 |
会员 |
插入 |
不 |
不 |
postgres |
匿名 |
postgres |
上市 |
会员 |
选择 |
不 |
是的 |
postgres |
匿名 |
postgres |
上市 |
会员 |
更新 |
不 |
不 |
postgres |
匿名 |
postgres |
上市 |
会员 |
删除 |
不 |
不 |
postgres |
匿名 |
postgres |
上市 |
会员 |
截短 |
不 |
不 |
postgres |
匿名 |
postgres |
上市 |
会员 |
参考 |
不 |
不 |
postgres |
匿名 |
postgres |
上市 |
会员 |
扳机 |
不 |
不 |
postgres |
认证 |
postgres |
上市 |
会员 |
插入 |
不 |
不 |
postgres |
认证 |
postgres |
上市 |
会员 |
选择 |
不 |
是的 |
postgres |
认证 |
postgres |
上市 |
会员 |
更新 |
不 |
不 |
postgres |
认证 |
postgres |
上市 |
会员 |
删除 |
不 |
不 |
postgres |
认证 |
postgres |
上市 |
会员 |
截短 |
不 |
不 |
postgres |
认证 |
postgres |
上市 |
会员 |
参考 |
不 |
不 |
postgres |
认证 |
postgres |
上市 |
会员 |
扳机 |
不 |
不 |
postgres |
服务角色 |
postgres |
上市 |
会员 |
插入 |
不 |
不 |
postgres |
服务角色 |
postgres |
上市 |
会员 |
选择 |
不 |
是的 |
postgres |
服务角色 |
postgres |
上市 |
会员 |
更新 |
不 |
不 |
postgres |
服务角色 |
postgres |
上市 |
会员 |
删除 |
不 |
不 |
postgres |
服务角色 |
postgres |
上市 |
会员 |
截短 |
不 |
不 |
postgres |
服务角色 |
postgres |
上市 |
会员 |
参考 |
不 |
不 |
postgres |
服务角色 |
postgres |
上市 |
会员 |
扳机 |
不 |
不 |