X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=bin%2Fsqlt-diagram;h=005c5411260dd2f7717920e02a97aa707ac42d27;hb=782b5a43519d2713171767f74a544fe9892542ea;hp=cfe5f91a89adbb51687268f9529ef15431006c0c;hpb=7d8b348991ab628caa939808ed6282577312f7e0;p=dbsrgits%2FSQL-Translator.git diff --git a/bin/sqlt-diagram b/bin/sqlt-diagram index cfe5f91..005c541 100755 --- a/bin/sqlt-diagram +++ b/bin/sqlt-diagram @@ -1,14 +1,32 @@ #!/usr/bin/perl -# $Id: sqlt-diagram,v 1.1 2003-08-26 02:29:12 kycl4rk Exp $ +# ------------------------------------------------------------------- +# $Id$ +# ------------------------------------------------------------------- +# Copyright (C) 2002-2009 SQLFairy Authors +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; version 2. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +# 02111-1307 USA +# ------------------------------------------------------------------- =head1 NAME -sqlt-diagram.pl - Automatically create a diagram from a database schema +sqlt-diagram - Automatically create a diagram from a database schema =head1 SYNOPSIS - ./sqlt-diagram.pl -d|--db=db_parser [options] schema.sql + ./sqlt-diagram -d|-f|--from|--db=db_parser [options] schema.sql Options: @@ -17,8 +35,9 @@ sqlt-diagram.pl - Automatically create a diagram from a database schema -t|--title Title to give schema -c|--cols Number of columns -n|--no-lines Don't draw lines - -f|--font-size Font size ("small," "medium," "large," or "huge," + --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 @@ -36,7 +55,7 @@ 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 "REFERNCES" or "FOREIGN KEY" constraints on +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. @@ -46,7 +65,7 @@ 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 acheive this. +to achieve this. =cut @@ -56,7 +75,8 @@ use Getopt::Long; use Pod::Usage; use SQL::Translator; -my $VERSION = (qw$Revision: 1.1 $)[-1]; +use vars '$VERSION'; +$VERSION = '1.99'; # # Get arguments. @@ -64,17 +84,18 @@ my $VERSION = (qw$Revision: 1.1 $)[-1]; my ( $out_file, $image_type, $db_driver, $title, $no_columns, $no_lines, $font_size, $add_color, $debug, $show_fk_only, - $natural_join, $join_pk_only, $skip_fields, $help + $gutter, $natural_join, $join_pk_only, $skip_fields, $help ); GetOptions( - 'd|db=s' => \$db_driver, + 'd|db|f|from=s' => \$db_driver, 'o|output:s' => \$out_file, 'i|image:s' => \$image_type, 't|title:s' => \$title, 'c|columns:i' => \$no_columns, 'n|no-lines' => \$no_lines, - 'f|font-size:s' => \$font_size, + 'font-size:s' => \$font_size, + 'gutter:i' => \$gutter, 'color' => \$add_color, 'show-fk-only' => \$show_fk_only, 'natural-join' => \$natural_join, @@ -96,6 +117,7 @@ my $translator = SQL::Translator->new( producer_args => { out_file => $out_file, image_type => $image_type, + gutter => $gutter || 0, title => $title, no_columns => $no_columns, no_lines => $no_lines, @@ -119,10 +141,12 @@ for my $file (@files) { } } +# ------------------------------------------------------------------- + =pod =head1 AUTHOR -Ken Y. Clark Ekclark@cpan.orgE +Ken Y. Clark Ekclark@cpan.orgE. =cut