반응형
코드를 작성하다 보면 가끔 타입에 대해 신뢰가 가지 않는 경우가 종종있다.
최근에는 Edge-function에 Supabase의 DB에 있는 타입을 활용해야할 때 그랬는데, 간단한 명령어로 현재 설정되어 있는 DB의 데이터 타입들을 가져올 수 있었다.
supabase gen types typescript --project-id "[your project id]" --schema public > supabase.ts
위의 명령어를 활용하여 내 프로젝트에서 supabase의 type들을 받아올 수 있다.

이렇게 입력 된 타입들은 아래의 예시와 같다.

이 타입들은 edge-function에서 활용할 수 있다.
import { Database } from "../supabase.ts";
.
.
const sourceArticles: Database["public"]["Tables"]["table name"]["Insert"][] =
data.map((element) => {
return {
.
.
.
};
});
이런식으로 타입을 활용하면 DB에 insert혹은 update등 여러가지 작업을 할 때 타입이 맞지않아 문제가 생기는 것을 사전에 방지할 수 있다.
조금 번거로운 점은 DB의 구조를 바꿀 때마다 가장 상단의 명령어를 통해서 타입을 불러와줘야한다는 것 인데, 그 번거로움을 감안하고도 나머지 장점이 큰것 같다.
Generating TypeScript Types | Supabase Docs
How to generate types for your API and Supabase libraries.
supabase.com
반응형
'Supabase' 카테고리의 다른 글
[Supabase] kakao 소셜 로그인 연결 (feat. 외부 브라우저 연결 없이) (0) | 2025.03.12 |
---|---|
[Supabase] Edge-function 스케쥴링, cron, guru (0) | 2024.07.03 |