Supabase
[Supabase] Edge-function에 DB에서 타입 가져오기
Gwer
2024. 7. 3. 18:19
반응형
코드를 작성하다 보면 가끔 타입에 대해 신뢰가 가지 않는 경우가 종종있다.
최근에는 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
반응형