X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=script%2Fsqlt;h=9c19bce286bb51c68455055491df324039a5638e;hb=aee4b66eb2152b7066ced4def46e0223eb1649b1;hp=5d4eccc478b59a13744b89e875b4b45f500ae394;hpb=467b72826293d3d134832d31ccd3c398dbcca3cb;p=dbsrgits%2FSQL-Translator.git diff --git a/script/sqlt b/script/sqlt index 5d4eccc..9c19bce 100755 --- a/script/sqlt +++ b/script/sqlt @@ -51,7 +51,7 @@ To translate a schema: General Parser Options: --skip Comma-separated list of tables to skip (only implemented in some parsers) - --ignore_opts Comma-separated list of table options to ignore + --ignore_opts Comma-separated list of table options to ignore DBI Parser Options: @@ -202,8 +202,8 @@ my $mysql_version; # MySQL version GetOptions( 'add-drop-table' => \$add_drop_table, - 'quote_table_names' => \$quote_table_names, - 'quote_field_names' => \$quote_field_names, + 'quote-table-names|quote_table_names' => \$quote_table_names, + 'quote-field-names|quote_field_names' => \$quote_field_names, 'd|debug' => \$debug, 'f|from|parser:s' => \$from, 'fs:s' => \$field_separator, @@ -247,12 +247,19 @@ GetOptions( ) or pod2usage(2); if ($use_same_auth) { - $producer_dsn = $dsn; - $producer_db_user = $db_user; - $producer_db_password = $db_password; + $producer_dsn = $dsn; + $producer_db_user = $db_user; + $producer_db_password = $db_password; +} + +if ( + ( !defined $from && defined $dsn ) + || + $from =~ /^DBI.*/ +) { + $from = 'DBI'; } -$from = 'DBI' if !defined $from && defined $dsn; my @files = @ARGV; # source files unless ( @files ) { if ( defined($from) && $from eq 'DBI' ) { @@ -270,14 +277,14 @@ if ( $show_version ) { exit(0); } -my $translator = SQL::Translator->new( +my $translator = SQL::Translator->new( debug => $debug || 0, trace => $trace || 0, no_comments => $no_comments || 0, show_warnings => $show_warnings || 0, add_drop_table => $add_drop_table || 0, - quote_table_names => $quote_table_names || 1, - quote_field_names => $quote_field_names || 1, + quote_table_names => defined $quote_table_names ? $quote_table_names : 1, + quote_field_names => defined $quote_field_names ? $quote_field_names : 1, validate => $validate || 0, parser_args => { trim_fields => $no_trim ? 0 : 1, @@ -311,7 +318,7 @@ my $translator = SQL::Translator->new( newlines => $newlines, postgres_version => $postgres_version, mysql_version => $mysql_version, - package_name => $package_name, + package_name => $package_name, }, ); @@ -338,7 +345,7 @@ $translator->parser($from); $translator->producer($to); for my $file (@files) { - my @args = + my @args = ($file eq '-') ? (data => \*STDIN) : ($file eq '!') ? (data => '') : (file => $file);