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 <kclark@cpan.org>.