Vai al contenuto
100% locale

SQL CREATE TABLE a schema Prisma

Converti istruzioni SQL CREATE TABLE in modelli di schema Prisma.

Ingresso
Uscita

SQL CREATE TABLE a schema Prisma

Incolla una o più istruzioni SQL CREATE TABLE e questo strumento restituisce i modelli di schema Prisma corrispondenti — tipi di colonna, chiavi primarie, vincoli di unicità e relazioni di chiavi esterne inclusi. È costruito per sviluppatori che migrano un database PostgreSQL, MySQL o SQLite esistente in un progetto Prisma, o collegano Prisma a uno schema che qualcun altro ha progettato in SQL puro.

Seleziona il database di origine in modo che i tipi di colonna si mappino correttamente — un ENUM MySQL, un UUID PostgreSQL o una colonna JSON SQLite richiedono ciascuno un trattamento diverso, e lo strumento lo annota inline quando un tipo non ha un equivalente esatto in Prisma. Attiva la convenzione di denominazione PascalCase singolare per ottenere nomi di modelli idiomatici (users diventa User) con un @@map di ritorno alla tabella reale, e nomi di campi camelCase per ottenere campi Prisma idiomatici (full_name diventa fullName) con un @map di ritorno alla colonna reale — entrambi sono additivi, quindi lo schema di database sottostante non ha mai bisogno di cambiare. Le chiavi esterne, sia dichiarate inline, come vincolo a livello di tabella o tramite un'istruzione ALTER TABLE separata, diventano relazioni Prisma appropriate su entrambi i lati, disambiguate con una relazione denominata quando più di una chiave esterna punta alla stessa tabella.

I valori predefiniti si convertono anche: CURRENT_TIMESTAMP diventa @default(now()), AUTO_INCREMENT e SERIAL diventano @default(autoincrement()), e ON UPDATE CURRENT_TIMESTAMP di MySQL diventa @updatedAt. Le colonne nulle ottengono un punto interrogativo finale, le chiavi composite diventano @@id, e i vincoli di unicità a colonna singola o composita diventano @@unique o @unique a seconda dell'ambito. Qualsiasi cosa il convertitore non possa rappresentare esattamente — un tipo non supportato, un vincolo CHECK, un intero senza segno — viene segnalato con un commento direttamente sopra il campo interessato invece di essere silenziosamente abbandonato o indovinato.

Tutto viene eseguito localmente nel tuo browser: il tuo schema non viene mai caricato da nessuna parte, il che è importante se descrive un database di produzione. Copia il risultato, scaricalo come file .txt da incollare in schema.prisma, o invia l'output direttamente all'input di un altro strumento per continuare a perfezionarlo.

FAQ

Quali database di origine sono supportati?
PostgreSQL, MySQL e SQLite. Seleziona quello corretto nelle opzioni — cambia il modo in cui vengono mappati tipi come UUID, JSON e interi senza segno, poiché Prisma supporta diversi tipi nativi per provider.
Come vengono convertite le chiavi esterne?
Vengono riconosciuti i riferimenti di colonna inline, le clausole FOREIGN KEY a livello di tabella e le istruzioni ALTER TABLE ... ADD FOREIGN KEY separate e convertiti in una relazione Prisma su entrambi il modello referenziante e il modello referenziato, con le azioni ON DELETE e ON UPDATE mantenute.
Cosa succede con un tipo che non ha un equivalente Prisma?
Viene mappato al tipo disponibile più vicino (di solito String) e viene aggiunto un commento sopra quel campo spiegando il divario, così sai esattamente cosa rivedere manualmente.
I nomi di modello generati corrisponderanno ai miei nomi di tabella?
Solo se disattivi la convenzione di denominazione PascalCase singolare. Lasciata attiva, una tabella come order_items diventa il modello OrderItem con un attributo @@map("order_items"), quindi Prisma punta ancora alla tabella reale.
Il mio schema viene caricato da qualche parte?
No. La conversione viene eseguita interamente nel tuo browser — il tuo SQL e lo schema Prisma generato non lasciano mai il tuo dispositivo.