Aurabase Logosu
aura tabanıdokümanlar
dokümanlar›Kılavuzlar›Generate TypeScript types

Veritabanınızdan TypeScript türleri oluşturun

Tek bir komut tablolarınızı türlere dönüştürür. Editörünüz daha sonra herhangi bir şeyi çalıştırmadan önce yanlış bir sütunu veya yanlış bir değeri reddeder.

4 dk. oku·Seviye acemi·12 Eki 2026 tarihinde revize edildi
Bu İngilizce metin, Fransızca orijinalinden otomatik olarak oluşturulmuştur ve henüz incelenmemiştir.
Bu sayfa otomatik olarak çevrildi. İngilizce versiyonu yetkilidir.
#
Oluştur

1. Dosyayı oluşturun

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

Araç, projenizin şemasını okur ve dosyayı yazar. --url ve --key olmadan, ortamınızda ve .env, .env.local ve .env.development içinde AURABASE_URL ve AURABASE_ANON_KEY (ayrıca NEXT_PUBLIC_AURABASE_URL, VITE_AURABASE_URL ve AURABASE_SERVICE_ROLE_KEY) arar.

İki tablo ve iki işlev içeren bir projede şu yanıtı verdi:

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

Şema değiştiğinde tekrar çalıştırın. public dışında bir şema için --schema <name> ve ana türü yeniden adlandırmak için --type-name ekleyin.

#
Kullanım

2. İstemciyle birlikte kullanın

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!)

Oluşturulan tür her tabloyu Row, Insert ve Update ile açıklar. Gerçek bir dosyaya karşı derleyici şu sonuçları verdi:

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

const wrong: number | undefined = data?.[0]?.title   // hata: dize sayıya atanamaz
await aura.from('todos').insert({ title: 1 })         // hata: sayı dizeye atanamaz
await aura.from('todos').insert({ title: 'ok' })      // tamam: diğer sütunların varsayılanları var

Insert'de, varsayılan veya null değeri olan bir sütuna sahip bir sütun isteğe bağlıdır. Update'de her sütun isteğe bağlıdır.

#
Yardımcılar

3. Bileşenleriniz için satır türleri

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

type Todo = Tables<'todos'>             // okunduğu gibi bir satır
type NewTodo = TablesInsert<'todos'>    // insert() neyi kabul eder
type TodoPatch = TablesUpdate<'todos'>  // update() neyi kabul eder

Enums<'name'> bir veritabanı numaralandırmasının değerlerini verir.

#
Sınırlar

4. Ne kontrol edilir

  • Oluşturulan dosyada bulunmayan bir tablo değil, reddedildi: aura.from('anything') hala derleniyor ve satırlarının türü yazılmamış.
  • İşlevler, bağımsız değişkenleriyle birlikte Functions altında görünür. Özel satır türünü döndüren bir işlev, Json veya unknown olarak gösterilir.
  • Dosya, onu oluşturduğunuz andaki şemayı yansıtır. Daha sonra eklenen bir sütun, siz aracı yeniden çalıştırana kadar türler tarafından bilinmez.
  • Bazı tablolar gizlenmediği sürece türleri oluşturmak için ortak anahtarı kullanın. Hiçbir zaman service_role anahtarını taahhüt etmeyin.