Zum Inhalt springen
100% lokal

SQL CREATE TABLE in Prisma-Schema konvertieren

SQL CREATE TABLE-Anweisungen in Prisma-Schemamodelle konvertieren.

Eingabe
Ausgabe

SQL CREATE TABLE in Prisma-Schema konvertieren

Fügen Sie eine oder mehrere SQL CREATE TABLE-Anweisungen ein und dieses Tool gibt entsprechende Prisma-Schemamodelle zurück — einschließlich Spaltentypen, Primärschlüssel, eindeutiger Einschränkungen und Fremdschlüsselrelationen. Es ist für Entwickler konzipiert, die eine bestehende PostgreSQL-, MySQL- oder SQLite-Datenbank in ein Prisma-Projekt migrieren oder Prisma gegen ein Schema verwenden, das jemand anderes in reinem SQL entwickelt hat.

Wählen Sie die Quelldatenbank, um die Spaltentypzuordnung korrekt durchzuführen — eine MySQL ENUM, eine PostgreSQL UUID oder eine SQLite JSON-Spalte benötigen jeweils unterschiedliche Behandlung, und das Tool vermerkt dies inline, wenn ein Typ kein genaues Prisma-Äquivalent hat. Aktivieren Sie die Benennung im singulären PascalCase, um idiomatische Modellnamen zu erhalten (users wird User) mit einer @@map zurück zur tatsächlichen Tabelle, und camelCase-Feldnamen für idiomatische Prisma-Felder (full_name wird fullName) mit einer @map zurück zur tatsächlichen Spalte — beides ist additiv, sodass sich das zugrunde liegende Datenbankschema nie ändern muss. Fremdschlüssel, ob inline deklariert, als Einschränkung auf Tabellenebene oder über eine separate ALTER TABLE-Anweisung, werden zu richtigen Prisma-Relationen auf beiden Seiten, disambiguiert mit einer benannten Relation, wenn mehr als ein Fremdschlüssel auf dieselbe Tabelle verweist.

Standardwerte werden ebenfalls konvertiert: CURRENT_TIMESTAMP wird @default(now()), AUTO_INCREMENT und SERIAL werden @default(autoincrement()), und MySQLs ON UPDATE CURRENT_TIMESTAMP wird @updatedAt. Nullable-Spalten erhalten ein nachfolgendes Fragezeichen, zusammengesetzte Schlüssel werden @@id, und zusammengesetzte oder einspaltige eindeutige Einschränkungen werden je nach Umfang zu @@unique oder @unique. Alles, das der Konverter nicht genau darstellen kann — ein nicht unterstützter Typ, eine CHECK-Einschränkung, eine unsignierte Ganzzahl — wird mit einem Kommentar direkt über dem betroffenen Feld aufgerufen, anstatt stillschweigend gelöscht oder erraten zu werden.

Alles läuft lokal in Ihrem Browser: Ihr Schema wird niemals irgendwo hochgeladen, was wichtig ist, wenn es eine Produktionsdatenbank beschreibt. Kopieren Sie das Ergebnis, laden Sie es als .txt-Datei herunter, um es in schema.prisma einzufügen, oder senden Sie die Ausgabe direkt an die Eingabe eines anderen Tools, um es weiter zu verfeinern.

Häufige Fragen

Welche Quelldatenbanken werden unterstützt?
PostgreSQL, MySQL und SQLite. Wählen Sie die richtige in den Optionen — sie ändert, wie Typen wie UUID, JSON und unsignierte Ganzzahlen zugeordnet werden, da Prisma unterschiedliche native Typen pro Provider unterstützt.
Wie werden Fremdschlüssel konvertiert?
Inline-Spaltenreferenzen, Einschränkungen auf Tabellenebene FOREIGN KEY und separate ALTER TABLE ... ADD FOREIGN KEY-Anweisungen werden alle erkannt und in eine Prisma-Relation auf beiden Seiten des referenzierenden und referenzierten Modells umgewandelt, wobei ON DELETE und ON UPDATE-Aktionen übernommen werden.
Was geschieht mit einem Typ, der kein Prisma-Äquivalent hat?
Es wird dem nächstgelegenen verfügbaren Typ zugeordnet (normalerweise String) und ein Kommentar wird direkt über diesem Feld hinzugefügt, der die Lücke erklärt, damit Sie genau wissen, was Sie manuell überprüfen müssen.
Stimmen die generierten Modellnamen mit meinen Tabellennamen überein?
Nur wenn Sie die Benennung im singulären PascalCase deaktivieren. Wenn Sie sie aktiviert lassen, wird eine Tabelle wie order_items zum Modell OrderItem mit einem @@map("order_items")-Attribut, sodass Prisma weiterhin auf die echte Tabelle verweist.
Wird mein Schema irgendwo hochgeladen?
Nein. Die Konvertierung läuft vollständig in Ihrem Browser — Ihr SQL und das generierte Prisma-Schema verlassen niemals Ihr Gerät.