sqlt−diagram − Automatically create a diagram from a database schema
./sqlt−diagram
−d|−f|−−from|−−db=db_parser
[options] schema.sql
Options:
−o|−−output Output file name (default
STDOUT)
−i|−−image Output image type
("png" or "jpeg," default
"png")
−t|−−title Title to give schema
−c|−−cols Number of columns
−n|−−no−lines Don't draw lines
−−font−size Font size ("small,"
"medium," "large," or "huge,"
default "medium")
−−gutter Gutter size between tables
−−color Add colors
−−show−fk−only Only show fields that
act as primary
or foreign keys
−−natural−join Perform natural joins
−−natural−join−pk Perform natural
joins from primary keys only
−s|−−skip Fields to skip in natural joins
−−skip−tables Comma−separated list
of table names to exclude
−−skip−tables−like
Comma−separated list of regexen to exclude tables
−−debug Print debugging information
This script will create a picture of your schema. Only the database driver argument (for SQL::Translator) is required. If no output file name is given, then image will be printed to STDOUT, so you should redirect the output into a file.
The default action is to assume the presence of foreign key relationships defined via "REFERENCES" or "FOREIGN KEY" constraints on the tables. If you are parsing the schema of a file that does not have these, you will find the natural join options helpful. With natural joins, like-named fields will be considered foreign keys. This can prove too permissive, however, as you probably don’t want a field called "name" to be considered a foreign key, so you could include it in the "skip" option, and all fields called "name" will be excluded from natural joins. A more efficient method, however, might be to simply deduce the foreign keys from primary keys to other fields named the same in other tables. Use the "natural-join-pk" option to achieve this.
Ken Youens-Clark <[email protected]>.