백엔드 기능들을 지원하는 클라우드 서비스
프론트엔드 애플리케이션에 백엔드 서비스를 제공하기 위해 사용하는 모델
PostgreSQL을 기반으로 SQL 쿼리 및 다양한 데이터베이스 작업을 수행할 수 있음 (SQL 방식)
DB, Storage, Auth 같은 백엔드 기능들을 직접적으로 제공하여 보다 간편하고, 백엔드에 집중하지 않고 안정적인 인프라 구축 가능
table Editor에서 새로운 table 생성
이 때 RLS 설정 체크를 반드시 확인
*DB의 각 데이터 행에 대한 접근 보안정책으로, RLS 설정을 통해 아무나 DB 특정 데이터에 접근하는 것을 방지
이후 필요에 따라 칼럼을 추가
위에서 id 칼럼은 해당 테이블의 기본 키로 각 데이터의 고유한 식별자 역할을 함
*Type = 들어오는 데이터의 타입
*Default value = 데이터의 값 필수여부 (null로 지정시 nullable하게 됨)
supabase의 SQL Editor 는 AI 기능과 접목되어 있어 보다 편리하게 커스터마이징 된 테이블 코드 작성이 가능
postgreSQL 의 문법에 익숙하지 않더라도 간편하게 테이블 구조를 작성가능
yarn add @supabase/supabase-js
공식 문서에 따라 우선 패키지파일을 설치해 줌
이후 설정 탭에서 API 탭 내에 존재하는 supabase URI와 API KEY를 복사
프로젝트에 따로 supabase 용 파일을 만든 후 공식문서에 따라 초기화 코드 작성
이후 env 환경변수에 앞서 복사한 URI, API KEY를 붙여넣은 후 createClient의 매개변수에 할당
*API KEY 같은 것은 DB접근에 대한 민감한 정보임으로 환경변수로 관리
RLS 정책관련 에러 발생
하지만 위와 같이 작성 후 코드를 실행해보면 401에러와 함께 API 요청이 실패함
이는 앞서 enable 해 둔 RLS 정책을 따로 설정하지 않았기에 보안정책에 맞지않은 요청을 차단해버렸기 때문
해결방안