Generieren Sie TypeScript-Typen aus Ihrer Datenbank
Ein Befehl verwandelt Ihre Tabellen in Typen. Ihr Editor lehnt dann eine falsche Spalte oder einen falschen Wert ab, bevor Sie etwas ausführen.
1. Generieren Sie die Datei
Das Tool liest das Schema Ihres Projekts und schreibt die Datei. Ohne --url und --key wird nach AURABASE_URL und AURABASE_ANON_KEY (auch NEXT_PUBLIC_AURABASE_URL, VITE_AURABASE_URL und AURABASE_SERVICE_ROLE_KEY) in Ihrer Umgebung und in .env, .env.local und .env.development gesucht.
Bei einem Projekt mit zwei Tabellen und zwei Funktionen antwortete es:
Führen Sie es erneut aus, wenn sich das Schema ändert. Fügen Sie --schema <name> für ein anderes Schema als public und --type-name hinzu, um den Haupttyp umzubenennen.
2. Verwenden Sie es mit dem Kunden
Der generierte Typ beschreibt jede Tabelle mit Row, Insert und Update. Für eine echte Datei lieferte der Compiler folgende Ergebnisse:
In Insert ist eine Spalte mit einer Standardspalte oder einer Spalte, die NULL-Werte zulässt, optional. In Update ist jede Spalte optional.
3. Zeilentypen für Ihre Komponenten
Enums<'name'> gibt die Werte einer Datenbankenum an.
4. Was wird überprüft
- Eine Tabelle, die nicht in der generierten Datei enthalten ist, wird nicht abgelehnt:
aura.from('anything')wird weiterhin kompiliert und ihre Zeilen sind untypisiert. - Funktionen erscheinen unter
Functionsmit ihren Argumenten. Eine Funktion, die einen benutzerdefinierten Zeilentyp zurückgibt, wird alsJsonoderunknownangezeigt. - Die Datei spiegelt das Schema zum Zeitpunkt der Erstellung wider. Eine später hinzugefügte Spalte ist den Typen unbekannt, bis Sie das Tool erneut ausführen.
- Verwenden Sie den öffentlichen Schlüssel zum Generieren der Typen, es sei denn, einige Tabellen sind darin verborgen. Übertragen Sie niemals einen
service_role-Schlüssel.