Ga naar inhoud
100% lokaal

SQL-Schema naar TypeORM-entiteit

Zet CREATE TABLE-statements om in TypeORM-entiteitklassen met decorators en relaties.

Invoer

SQL-Schema naar TypeORM-entiteit

Plak één of meer SQL CREATE TABLE-statements in, en dit hulpmiddel geeft u TypeORM-entiteitklassen terug die u direct in een NestJS- of Node.js-project kunt gebruiken — @Entity, @Column, @PrimaryGeneratedColumn en de relatiedecorators die TypeORM verwacht, gegenereerd rechtstreeks uit uw bestaande schema.

Opties bepalen hoe de klassen worden gegenereerd: selecteer postgres, mysql of sqlite als doeldatabase, omdat kolomtypnamen zoals uuid, jsonb of tinyint alleen op sommige daarvan voorkomen. Buitenlandse sleutels worden @ManyToOne/@OneToMany-paren, en een zuivere samenvoegingstabel — twee buitenlandse sleutels en niets anders — wordt een echte @ManyToMany met @JoinTable. Snake_case kolommen kunnen automatisch worden toegewezen aan camelCase-eigenschappen, met een name-optie toegevoegd waar de twee verschillen, en indexen en unique-constraints worden weergegeven als @Index en @Unique-decorators op klasseniveau. Schakel standaardwaarden of relatiedetectie uit als u alleen de basis-kolombouw wilt.

De parser begrijpt aanhalingstekens voor identifiers, inline en tabel-niveau buitenlandse sleutels, CHECK en COMMENT-clausules, en zowel Unix als Windows-regeleindes, zodat een schema-dump uit psql, mysqldump of een migratiebestand direct werkt. Zeer grote schema's worden ook verwerkt, hoewel gegenereerde code boven 10 MB een bericht geeft dat u de invoer moet verkorten in plaats van het tabblad in te vriezen.

Alles draait in uw browser — geen schema, tabelnaam of kolom verlaat uw apparaat. Kopieer het resultaat, download het als .txt-bestand om de entiteiten zelf in aparte bestanden op te splitsen, of stuur het direct terug naar de invoer om hetzelfde schema verder te verfijnen.

FAQ

Welke relaties detecteert dit hulpmiddel?
Buitenlandse sleutels worden @ManyToOne/@OneToMany-paren. Een tabel die bestaat uit precies twee buitenlandse sleutels en niets anders wordt herkend als een samenvoegingstabel en wordt een @ManyToMany met @JoinTable in plaats van een eigen klasse.
Hoe worden kolomtypen gekozen?
Elk SQL-type wordt toegewezen aan het dichtst bijzijnde TypeORM-kolomtype voor de geselecteerde doeldatabase — bijvoorbeeld uuid blijft uuid op PostgreSQL maar wordt varchar(36) op MySQL en SQLite, omdat geen native UUID-kolom beschikbaar is.
Kan ik één bestand per entiteit genereren?
Ja. Schakel "Splitsen in één bestand per entiteit" in om een commentaarkop en eigen import-statement voor elke klasse te krijgen, klaar om in aparte *.entity.ts-bestanden te plakken.
Wat gebeurt er met samengestelde primaire sleutels?
Elke kolom van een samengestelde primaire sleutel krijgt zijn eigen @PrimaryColumn(); auto-increment en UUID-generering gelden alleen voor een sleutel met één kolom.
Wordt mijn databaseschema ergens geüpload?
Nee. Parsing en codegeneratie vinden volledig in uw browser plaats — de SQL die u plakt verlaat uw apparaat nooit.