01
변환 대상
Supabase RLS는 표준 CREATE POLICY에 Supabase만 제공하는 컨텍스트를 더한 것입니다. auth.uid()와 auth.jwt(), anon·authenticated·service_role 역할, 그리고 모든 요청에 주입되는 JWT입니다. 프로젝트를 Supabase에 묶어 두는 것은 정책이 아니라 이 컨텍스트 계층입니다.
변환기는 이 계층 전체를 옮겨, 정책이 순수 Postgres에서 실행되며 같은 권한 부여를 계속하게 합니다.
- -auth.uid(), auth.jwt(), auth.role(), auth.email()은 트랜잭션 로컬 설정을 읽는 접근자 함수가 되고, JWT 클레임은 각각 독립된 설정이 됩니다.
- -TO anon과 TO authenticated는 조건식이 되고, service_role은 제한 정책도 통과하는 서비스 경로가 됩니다.
- -FOR ALL 정책은 명령별로 나뉘고, default auth.uid() 같은 열 기본값은 다시 작성됩니다.
- -보고서에는 애플리케이션이 이제 데이터베이스에 제공해야 할 설정이 나옵니다. 이것이 통합 체크리스트입니다.