0.3.5 • Published 4 years ago
sql-vis v0.3.5
@sql-vis 

Installation:
You should have graphviz installed.
MacOS
> brew install graphizWindows
> choco install graphvizOther installatiom methods can be found on Graphviz website
Usage:
Script watches for changes in your sql and updates png ons save.
> npx sql-vis <filename.sql> <output-image.png>Example SQL:
CREATE TABLE item (
id INT NOT NULL,
PRIMARY KEY (id),
descr VARCHAR(255)
);
CREATE TABLE manufacturer_item (
item_id INT NOT NULL,
manufacturer_id INT NOT NULL,
quantity INT NOT NULL,
PRIMARY KEY (item_id, manufacturer_id),
FOREIGN KEY (item_id) REFERENCES item(id),
FOREIGN KEY (manufacturer_id) REFERENCES manufacturer(id)
);
CREATE TABLE manufacturer (
id INT NOT NULL,
PRIMARY KEY(id),
phone INT NOT NULL
);Supported SQL
Statements
CREATE TABLE <tableName> ( ... ); only since the goal of this project is to visualize table definitions in Martin's ERD notation.
Types:
VARCHAR(<integer>)INTTEXTDATETIMEDECIMAL(<integer>, <integer>)DATE
Table constraints
PRIMARY KEY (<columnName>)FOREIGN KEY (<selfColumn>) REFERENCES <foreignTable>(<foreignColumn>) <MANDATORY?>MANDATORYis project specific keyword used to mark that relationship is mandatory for referenced table
Column modifiers
NOT NULLAUTO INCREMENT
One more thing
- Trailing commas are supportedonly inside
CREATE TABLE:( - Semicolomns are required after
CREATE TABLEstatement
How Do They Do It
Tool uses Peg.js to parse SQL abstract syntax tree, set of custom rules for deriving relationship types, and custom dot generator. The source code split in corresponding files. There are no docs ot comments for now, but you are always free to contribute.