sqlt-diagram(1) Automatically create a diagram from a database schema


./sqlt-diagram -d|-f|--from|--db=db_parser [options] schema.sql
-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]>.