X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=script%2Fsqlt-diagram;h=da1a6dbe0cb952d409c6ba467053783e3087d260;hb=fb54380f64b8f5b1ed1700bf3d2e33202f9dc1e0;hp=8a9bf6ff609c16403155f95c07dbdc95887be978;hpb=44659089c28216f1984873bc4aa8641e2e0e3410;p=dbsrgits%2FSQL-Translator.git diff --git a/script/sqlt-diagram b/script/sqlt-diagram index 8a9bf6f..da1a6db 100755 --- a/script/sqlt-diagram +++ b/script/sqlt-diagram @@ -1,7 +1,7 @@ #!/usr/bin/env perl # ------------------------------------------------------------------- -# Copyright (C) 2002-2009 SQLFairy Authors +# Copyright (C) 2002-2011 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 @@ -18,7 +18,7 @@ # 02111-1307 USA # ------------------------------------------------------------------- -=head1 NAME +=head1 NAME sqlt-diagram - Automatically create a diagram from a database schema @@ -37,13 +37,13 @@ sqlt-diagram - Automatically create a diagram from a database schema default "medium") --gutter Gutter size between tables --color Add colors - --show-fk-only Only show fields that act as primary + --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 Comma-separated list of table names to exclude --skip-tables-like Comma-separated list of regexen to exclude tables --debug Print debugging information @@ -63,7 +63,7 @@ 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 +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. @@ -82,17 +82,17 @@ $VERSION = '1.59'; # # Get arguments. # -my ( - $out_file, $image_type, $db_driver, $title, $num_columns, +my ( + $out_file, $output_type, $db_driver, $title, $num_columns, $no_lines, $font_size, $add_color, $debug, $show_fk_only, - $gutter, $natural_join, $join_pk_only, $skip_fields, + $gutter, $natural_join, $join_pk_only, $skip_fields, $skip_tables, $skip_tables_like, $help ); GetOptions( 'd|db|f|from=s' => \$db_driver, 'o|output:s' => \$out_file, - 'i|image:s' => \$image_type, + 'i|image:s' => \$output_type, 't|title:s' => \$title, 'c|columns:i' => \$num_columns, 'n|no-lines' => \$no_lines, @@ -114,13 +114,13 @@ pod2usage(1) if $help; pod2usage( -message => "No db driver specified" ) unless $db_driver; pod2usage( -message => 'No input file' ) unless @files; -my $translator = SQL::Translator->new( +my $translator = SQL::Translator->new( from => $db_driver, to => 'Diagram', debug => $debug || 0, producer_args => { out_file => $out_file, - image_type => $image_type, + output_type => $output_type, gutter => $gutter || 0, title => $title, num_columns => $num_columns, @@ -136,6 +136,8 @@ my $translator = SQL::Translator->new( }, ) or die SQL::Translator->error; +binmode STDOUT unless $out_file; + for my $file (@files) { my $output = $translator->translate( $file ) or die "Error: " . $translator->error;