Sări la conținut

Schemă SQL în DBML

Transformă instrucțiunile CREATE TABLE într-o definiție de diagramă DBML.

Intrare
Ieșire

Schemă SQL în DBML

Lipește una sau mai multe instrucțiuni CREATE TABLE și acest instrument returnează DBML echivalent — formatul text simplu utilizat de dbdiagram.io și instrumente similare de diagramă entitate-relație. Fiecare tabel devine un bloc Table, fiecare coloană își păstrează numele și tipul, iar cheile primare, constrângerile unice și cheile străine sunt transportate automat. A fost construită pentru momentul în care ai un dump de schemă și ai nevoie de o diagramă rapidă, fără a copia SQL într-un serviciu găzduit.

Opțiunea de dialect spune analizorului ce citește — MySQL, PostgreSQL, SQLite sau SQL Server — deoarece același cuvânt cheie poate însemna lucruri diferite în motoare (un MySQL TINYINT(1) se citește ca boolean, o coloană SQL Server IDENTITY se citește ca auto-increment). Activează maparea tipurilor pentru a comprima tipurile specifice dialectului în setul canonic DBML (int, varchar, decimal, timestamp și așa mai departe), sau lasă-l dezactivat pentru a păstra numele originale. Comentariile — o clauză MySQL COMMENT sau o declarație PostgreSQL COMMENT ON — devin intrări DBML Note atunci când "Păstrează comentariile" este activată. Numele de coloane precum user_id pot opta infera o relație cu un tabel users chiar și fără o cheie străină explicită, iar tabelele care partajează un prefix de denumire (shop_orders, shop_products) pot fi grupate într-un TableGroup.

Instrumentul înțelege clauze REFERENCES inline, constrângeri FOREIGN KEY la nivel de tabel și instrucțiuni ALTER TABLE ADD CONSTRAINT separate, deci funcționează pe un singur bloc CREATE TABLE sau pe un dump complet cu chei adăugate ulterior. Cheile primare compuse și constrângerile unice sunt redate ca blocuri de indecși DBML mai degrabă decât a fi șterse.

Totul rulează local în browserul tău — nicio schemă nu este niciodată încărcată nicăieri, ceea ce contează atunci când SQL-ul pe care îl lipești descrie o bază de date de producție reală. Copiază DBML, descarcă-l ca fișier .txt sau trimite ieșirea direct în alt instrument pentru a continua să lucrezi pe ea.

FAQ

Ce dialect-e SQL sunt suportate?
MySQL, PostgreSQL, SQLite și SQL Server. Alege dialectul corespunzător, astfel încât detectarea auto-increment și maparea tipurilor citesc SQL-ul corect.
Cum sunt detectate cheile străine?
Din clauze REFERENCES inline, constrângeri FOREIGN KEY la nivel de tabel și instrucțiuni ALTER TABLE ADD CONSTRAINT ... FOREIGN KEY separate — toate trei sunt convertite în linii DBML Ref.
Ce face "infera relații din numele coloanelor"?
Atunci când o coloană are un nume precum user_id și nu există nici o cheie străină explicită, instrumentul verifică o tabel users corespunzător cu o coloană id și adaugă un Ref pentru aceasta, marcat ca infera în ieșire.
Pot lipi ieșirea direct în dbdiagram.io?
Da. Ieșirea este DBML simplu — tabele, coloane, chei și relații — în formatul pe care dbdiagram.io și instrumente compatibile îl așteaptă.
Schema mea este încărcată undeva?
Nu. SQL-ul pe care îl lipești este analizat în întregime în browserul tău și nu iese niciodată din dispozitivul tău.