Preskočiť na obsah
100% lokálne

SQL schéma na TypeORM entitu

Premieňajte CREATE TABLE príkazy na TypeORM entity triedy s dekoratórmi a vzťahmi.

Vstup
Výstup

SQL schéma na TypeORM entitu

Vložte jeden či viacero SQL CREATE TABLE príkazov a tento nástroj vygeneruje TypeORM entity triedy pripravené na zaradenie do NestJS alebo Node.js projektu — @Entity, @Column, @PrimaryGeneratedColumn a dekorátorov vzťahov, ktoré TypeORM očakáva, všetko vygenerované priamo z vašej schémy.

Opcií vám umožňujú kontrolovať, ako budú triedy vyzerať: vyberte postgres, mysql alebo sqlite ako cieľovú databázu, pretože názvy typov stĺpcov ako uuid, jsonb alebo tinyint existujú len na niektorých z nich. Cudzí kľúče sa stanú pármi @ManyToOne a @OneToMany, a čistá tabuľka spájajúca — len dva cudzí kľúče a nič iné — sa premení na správny @ManyToMany s @JoinTable. Stĺpce s podčiarkovníkom sa môžu automaticky mapovať na vlastnosti camelCase, pričom sa všade, kde sa tieto dve líšia, pridá možnosť názvu, a indexy a jedinečné obmedzenia sa rendujú ako dekorátorov @Index a @Unique na úrovni triedy. Vypnite predvolené hodnoty alebo detekciu vzťahov, keď chcete len čisté tvary stĺpcov.

Parser rozumie citovaným identifikátorom, vnorených a tabuľkovým cudzím kľúčom, klauzulám CHECK a COMMENT a obom typom konca riadka Unix a Windows, takže výpis schémy skopírovaný z psql, mysqldump alebo migračného súboru funguje ako je. Zvládajú sa aj veľké schémy, hoci vygenerovaný kód nad 10 MB vráti správu s požiadavkou na skrátenie vstupu namiesto zmrazenia karty.

Všetko beží v prehliadači — vaša schéma, názvy tabuliek ani stĺpci nikdy neopúšťajú vaše zariadenie. Skopírujte výsledok, stiahnite si ho ako súbor .txt, aby ste ho rozdelili na entity jednotlivých súborov, alebo ho poslať priamo späť do vstupu, aby ste naďalej spresňovali tú istú schému.

Časté otázky

Ktoré vzťahy detektuje?
Cudzí kľúče sa stanú pármi @ManyToOne/@OneToMany. Tabuľka pozostávajúca z presne dvoch cudzích kľúčov a nič iného sa rozpozná ako tabuľka spájajúca a stane sa @ManyToMany s @JoinTable namiesto svojej vlastnej triedy.
Ako sa vyberajú typy stĺpcov?
Každý SQL typ sa mapuje na najbližší typ stĺpca TypeORM pre vybranú cieľovú databázu — napríklad uuid zostáva uuid na PostgreSQL, ale na MySQL a SQLite sa stáva varchar(36), pretože ani jeden nemá natívny stĺpec UUID.
Môžem vygenerovať jeden súbor na entitu?
Áno. Zapnite "Rozdeliť do jedného súboru na entitu" a získate záhlavie komentára a svoj vlastný príkaz import pre každú triedu, pripravenú na vloženie do samostatných súborov *.entity.ts.
Čo sa deje s primárnymi kľúčmi zloženými z viacerých stĺpcov?
Každý stĺpec zloženého primárneho kľúča dostane vlastný @PrimaryColumn(); automatické zvyšovanie a generovanie UUID sa uplatňujú len na jednozstĺpcovom kľúči.
Nahráva sa schéma mojej databázy niekam?
Nie. Analýza a generovanie kódov prebiehajú úplne v prehliadači — SQL, ktorý vložíte, nikdy neopustí vaše zariadenie.