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 −−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 foriegn keys from primary keys to other fields named the same in other tables. Use the "natural−join−pk" option to achieve this.
Ken Y. Clark <kclark AT cpan DOT org>.