Hoppa till innehåll
100% lokalt

Konvertera SQL CREATE TABLE till Prisma-schema

Konvertera SQL CREATE TABLE-satser till Prisma-schemamodeller.

Inmatning
Utmatning

Konvertera SQL CREATE TABLE till Prisma-schema

Klistra in en eller flera SQL CREATE TABLE-satser och det här verktyget returnerar motsvarande Prisma-schemamodeller — inklusive kolumntyper, primärnycklar, unika begränsningar och främmande nyckelrelationer. Det är byggt för utvecklare som migrerar en befintlig PostgreSQL-, MySQL- eller SQLite-databas till ett Prisma-projekt, eller använder Prisma mot ett schema som någon annan utformade i ren SQL.

Välj källdatabasen så att kolumntypavbildningen blir korrekt — en MySQL ENUM, en PostgreSQL UUID eller en SQLite JSON-kolumn kräver vardera olika hantering, och verktyget noterar det inline när en typ inte har någon exakt Prisma-motsvarighet. Aktivera namngivning i singular PascalCase för att få idiomatiska modellnamn (users blir User) med en @@map tillbaka till den faktiska tabellen, och camelCase-fältnamn för idiomatiska Prisma-fält (full_name blir fullName) med en @map tillbaka till den faktiska kolumnen — båda är additiva, så det underliggande databasschemat behöver aldrig ändras. Främmande nycklar, oavsett om de är deklarerade inline, som en begränsning på tabellnivå eller via en separat ALTER TABLE-sats, blir korrekta Prisma-relationer på båda sidor, disambiguerade med en namngiven relation när mer än en främmande nyckel pekar på samma tabell.

Standardvärden konverteras också: CURRENT_TIMESTAMP blir @default(now()), AUTO_INCREMENT och SERIAL blir @default(autoincrement()), och MySQLs ON UPDATE CURRENT_TIMESTAMP blir @updatedAt. Nullable-kolumner får ett efterföljande frågetecken, sammansatta nycklar blir @@id, och sammansatta eller enkla kolumners unika begränsningar blir @@unique eller @unique beroende på omfattning. Allt som konverteraren inte kan representera exakt — en typ som inte stöds, en CHECK-begränsning, ett osignerat heltal — anropas med en kommentar direkt ovanför det berörda fältet istället för att tyst tas bort eller gissas.

Allt körs lokalt i din webbläsare: ditt schema laddas aldrig upp någonstans, vilket är viktigt om det beskriver en produktionsdatabas. Kopiera resultatet, ladda ned det som en .txt-fil för att klistra in i schema.prisma, eller skicka utdata direkt till ett annat verktys inmatning för att fortsätta att förfina det.

FAQ

Vilka källdatabaser stöds?
PostgreSQL, MySQL och SQLite. Välj den rätta i alternativen — det ändrar hur typer som UUID, JSON och osignerade heltal mappas, eftersom Prisma stöder olika ursprungliga typer per leverantör.
Hur konverteras främmande nycklar?
Inline-kolumnreferenser, FOREIGN KEY-begränsningar på tabellnivå och separata ALTER TABLE ... ADD FOREIGN KEY-satser erkänns alla och omvandlas till en Prisma-relation på båda sidor av den refererande och refererade modellen, med ON DELETE och ON UPDATE-åtgärder överförda.
Vad händer med en typ som inte har någon Prisma-motsvarighet?
Det mappas till den närmaste tillgängliga typen (vanligtvis String) och en kommentar läggs direkt ovanför det fältet för att förklara gapet, så du vet exakt vad du behöver granska manuellt.
Motsvarar de genererade modellnamnen mina tabellnamn?
Bara om du inaktiverar namngivning i singular PascalCase. Om du lämnar den aktiverad, blir en tabell som order_items modell OrderItem med ett @@map("order_items")-attribut, så Prisma pekar fortfarande på den faktiska tabellen.
Laddas mitt schema upp någonstans?
Nej. Konverteringen körs helt i din webbläsare — din SQL och det genererade Prisma-schemat lämnar aldrig din enhet.