Sări la conținut
Complet local

SQL CREATE TABLE în schema Prisma

Convertire instrucțiuni CREATE TABLE SQL în modele de schema Prisma.

Intrare
Ieșire

SQL CREATE TABLE în schema Prisma

Lipiți una sau mai multe instrucțiuni CREATE TABLE SQL și acest instrument returnează modelele de schema Prisma corespunzătoare — tipuri de coloane, chei primare, constrângeri unice și relații de chei externe incluse. Este construit pentru dezvoltatori care migrează o bază de date PostgreSQL, MySQL sau SQLite existentă într-un proiect Prisma, sau conectează Prisma la un schema pe care cineva l-a proiectat în SQL brut.

Alegeți baza de date sursă pentru ca tipurile de coloane să se mapeze corect — un ENUM MySQL, un UUID PostgreSQL sau o coloană JSON SQLite necesită fiecare un tratament diferit, și instrumentul notează inline atunci când un tip nu are un echivalent exact Prisma. Activați nomenclatura PascalCase singular pentru a obține nume de model idiomatice (users devine User) cu un @@map la tabelul real, și nume de câmp camelCase pentru a obține câmpuri Prisma idiomatice (full_name devine fullName) cu un @map la coloana reală — ambele sunt aditive, deci schema bazei de date subiacente nu trebuie niciodată să se schimbe. Cheile externe, fie declarate inline, ca o constrângere la nivel de tabel sau prin intermediul unei instrucțiuni ALTER TABLE separate, devin relații Prisma corespunzătoare pe ambele fețe, dezambiguizate cu o relație numită atunci când mai mult de o cheie externă indică aceeași tabel.

Vaorile implicite se convertesc și ele: CURRENT_TIMESTAMP devine @default(now()), AUTO_INCREMENT și SERIAL devin @default(autoincrement()), și ON UPDATE CURRENT_TIMESTAMP de MySQL devine @updatedAt. Coloanele nullable primesc un semn de întrebare la capăt, cheile compuse devin @@id, și constrângerile unice cu o singură coloană sau compuse devin @@unique sau @unique în funcție de domeniu. Orice nu poate fi reprezentat exact de convertitor — un tip nesuportat, o constrângere CHECK, un întreg fără semn — este evidențiat cu un comentariu chiar deasupra câmpului afectat în loc să fie în tăcere eliminat sau ghicit.

Totul rulează local în browser-ul dvs.: schema dvs. nu este niciodată încărcată oriunde, ceea ce contează dacă descrie o bază de date de producție. Copiați rezultatul, descărcați-l ca fișier .txt pentru a-l lipi în schema.prisma, sau trimiteți rezultatul direct la intrarea unui alt instrument pentru a continua să-l rafinați.

FAQ

Care baze de date sursă sunt suportate?
PostgreSQL, MySQL și SQLite. Alegeți cea corectă în opțiuni — schimbă modul în care tipurile cum ar fi UUID, JSON și numerele întregi fără semn sunt mapate, deoarece Prisma suportă tipuri native diferite per furnizor.
Cum sunt convertite cheile externe?
Referințele de coloane inline, clauzele FOREIGN KEY la nivel de tabel și instrucțiunile ALTER TABLE ... ADD FOREIGN KEY separate sunt toate recunoscute și convertite într-o relație Prisma pe ambele fețe ale modelului care face referință și a celui la care se face referință, cu acțiuni ON DELETE și ON UPDATE transferate.
Ce se întâmplă cu un tip fără echivalent Prisma?
Este mapată la cel mai apropiat tip disponibil (de obicei String) și un comentariu este adăugat deasupra acelui câmp explicând decalajul, pentru ca să știți exact ce să revedeți manual.
Vor corespunde numele de model generate numelor tabelei mele?
Doar dacă dezactivați nomenclatura PascalCase singular. Dacă este activată, un tabel cum ar fi order_items devine model OrderItem cu un atribut @@map("order_items"), pentru ca Prisma să indice încă la tabelul real.
Schema mea este încărcată undeva?
Nu. Convertirea rulează complet în browser-ul dvs. — SQL-ul dvs. și schema Prisma generată nu pleacă niciodată de pe dispozitivul dvs.