아우라베이스 로고
아우라베이스문서
문서›가이드›Generate TypeScript types

데이터베이스에서 TypeScript 유형 생성

하나의 명령으로 테이블을 유형으로 변환할 수 있습니다. 그런 다음 편집기는 실행하기 전에 잘못된 열이나 잘못된 값을 거부합니다.

4분 읽기·레벨 초보자·2026. 10. 12.에 개정됨
이 영어 텍스트는 프랑스어 원본에서 자동으로 생성되었으며 아직 검토되지 않았습니다.
이 페이지는 자동으로 번역되었습니다. 영어 버전은 권위가 있습니다.
#
생성

1. 파일 생성

terminalbash
npx @aurabase/gen --url https://my-app.aurabase.cloud --key "$AURA_ANON_KEY" --out src/types/database.types.ts

이 도구는 프로젝트의 스키마를 읽고 파일을 씁니다. --url 및 --key이 없으면 사용자 환경과 .env, .env.local 및 .env.development에서 AURABASE_URL 및 AURABASE_ANON_KEY(또한 NEXT_PUBLIC_AURABASE_URL, VITE_AURABASE_URL 및 AURABASE_SERVICE_ROLE_KEY)를 찾습니다.

두 개의 테이블과 두 개의 함수가 있는 프로젝트에서는 다음과 같이 대답했습니다.

text
[aurabase-gen] ✓ Types écrits dans /tmp/database.types.ts (2 table(s), 2 fonction(s), 0 enum(s), 0 vue(s)).

스키마가 변경될 때마다 다시 실행하십시오. public이외의 스키마에는 --schema <name>를 추가하고 기본 유형의 이름을 바꾸려면 --type-name를 추가합니다.

#
사용

2. 클라이언트와 함께 사용

src/lib/aurabase.tstypescript
import { createClient } from '@aurabase/aurabase-js'
import type { Database } from '../types/database.types'

export const aura = createClient<Database>(process.env.AURA_URL!, process.env.AURA_ANON_KEY!)

생성된 유형은 Row, Insert 및 Update를 사용하여 각 테이블을 설명합니다. 실제 파일에 대해 컴파일러는 다음과 같은 결과를 제공했습니다.

checked.tstypescript
const { data } = await aura.from('todos').select('id, title, done')
const title: string | undefined = data?.[0]?.title   // 알았어

const wrong: number | undefined = data?.[0]?.title   // 오류: 문자열을 숫자에 할당할 수 없습니다.
await aura.from('todos').insert({ title: 1 })         // 오류: 숫자를 문자열에 할당할 수 없습니다.
await aura.from('todos').insert({ title: 'ok' })      // ok: 다른 열에는 기본값이 있습니다

Insert에서 기본값 또는 null 허용 열이 있는 열은 선택 사항입니다. Update에서는 모든 열이 선택 사항입니다.

#
도우미

3. 구성 요소의 행 유형

Todo.tsxtypescript
import type { Tables, TablesInsert, TablesUpdate, Enums } from '../types/database.types'

type Todo = Tables<'todos'>             // 읽은 행
type NewTodo = TablesInsert<'todos'>    // insert()가 허용하는 것
type TodoPatch = TablesUpdate<'todos'>  // update()가 허용하는 것

Enums<'name'>는 데이터베이스 열거형의 값을 제공합니다.

#
한도

4. 체크사항

  • 생성된 파일에 없는 테이블은 거부되지 않습니다. aura.from('anything')은 계속 컴파일되고 해당 행의 유형이 지정되지 않습니다.
  • 함수는 해당 인수와 함께 Functions 아래에 나타납니다. 사용자 정의 행 유형을 반환하는 함수는 Json 또는 unknown로 표시됩니다.
  • 파일은 생성 당시의 스키마를 반영합니다. 나중에 추가된 열은 도구를 다시 실행할 때까지 유형에 알려지지 않습니다.
  • 일부 테이블이 숨겨져 있지 않는 한 공개 키를 사용하여 유형을 생성하십시오. service_role 키를 커밋하지 마세요.
마지막 업데이트 · 2026. 10. 12.