Ugrás a tartalomhoz
100% helyi

SQL séma TypeORM entitásba

CREATE TABLE utasítások TypeORM entitásosztályokká dekorátorokkal és kapcsolatokkal.

Bemenet
Kimenet

SQL séma TypeORM entitásba

Illeszd be egy vagy több SQL CREATE TABLE utasítást, és ez az eszköz visszaadja a TypeORM entitásosztályokat, amelyeket azonnal egy NestJS vagy Node.js projektbe helyezhetsz — @Entity, @Column, @PrimaryGeneratedColumn és a TypeORM által várt relációdekorátorok, közvetlenül az általad már meglévő sémából generálva.

A beállítások szabályozzák, hogy az osztályok hogyan jöjjenek létre: válaszd ki a postgrest, mysqlt vagy sqlitet céladatbázisként, mivel az olyan oszloptípusnevek, mint az uuid, jsonb vagy tinyint, csak egyes adatbázisokon léteznek. A külső kulcsok @ManyToOne és @OneToMany párokká válnak, és egy tiszta vegyes táblázat — csak két külső kulcs és semmi más — megfelelő @ManyToMany-vé összecsukódik @JoinTable-vel. A snake_case oszlopok camelCase tulajdonságokra képezhetőek, ahol a kettő eltér, egy name opció hozzáadódik, és az indexek és unique korlátok osztályszintű @Index és @Unique dekorátorokként jelennek meg. Az elemző megérti az idézett azonosítókat, a beágyazott és táblaszintű külső kulcsokat, a CHECK és COMMENT záradékokat, valamint az Unix és Windows sorvégeket, így a psql-ből, mysqldump-ból vagy migrációs fájlból másolt sémadump így működik.

Minden a böngészőben fut — semmilyen séma, táblanév vagy oszlop nem hagyja el az eszközt. Másold ki az eredményt, töltsd le .txt fájlként a per-fájl entitásokra való felosztáshoz, vagy küldd vissza közvetlenül a bemenetre, hogy tovább finomítsd ugyanazt a sémát.

Gyakori kérdések

Milyen kapcsolatokat fedez fel?
A külső kulcsok @ManyToOne/@OneToMany párokká válnak. Az olyan tábla, amely pontosan két külső kulcsból és semmi másból áll, vegyes táblázatként ismerhető fel, és @JoinTable helyett saját @ManyToMany osztállyá válik.
Hogyan választódnak meg az oszloptípusok?
Minden SQL típus a kiválasztott céladatbázis TypeORM típusára térképeződik — például az uuid a PostgreSQL-en uuid marad, de a MySQL-en és SQLite-en varchar(36)-ra lesz, mivel egyik sem rendelkezik natív UUID oszloppal.
Létrehozható-e egy fájl entitásonként?
Igen. Kapcsold be a "Egy fájl per entitás" lehetőséget, hogy megkapj egy megjegyzésű fejléc és minden osztályhoz saját import statement, készen áll a * .entity.ts fájlokba való beillesztéshez.
Mi történik az összetett elsődleges kulcsokkal?
Az összetett elsődleges kulcs minden oszlopa saját @PrimaryColumn() kapja; az automatikus inkrementálás és UUID generálás csak egykolumos kulcsokra vonatkozik.
Az adatbázis sémám sehová fel van töltve?
Nem. Az elemzés és a kódgenerálás teljes mértékben a böngészőben zajlik — az általad beillesztett SQL soha nem hagyja el az eszközt.