# vim: set ft=perl:
# -------------------------------------------------------------------
-# $Id: sqlt,v 1.5 2003-10-04 01:22:46 kycl4rk Exp $
+# $Id: sqlt,v 1.10 2003-10-19 17:01:25 grommit Exp $
# -------------------------------------------------------------------
# Copyright (C) 2002 Ken Y. Clark <kclar@cpan.org>,
# darren chamberlain <darren@cpan.org>
use SQL::Translator;
use vars qw( $VERSION );
-$VERSION = sprintf "%d.%02d", q$Revision: 1.5 $ =~ /(\d+)\.(\d+)/;
+$VERSION = sprintf "%d.%02d", q$Revision: 1.10 $ =~ /(\d+)\.(\d+)/;
my $from; # the original database
my $to; # the destination database
'add-drop-table' => \$add_drop_table,
'attrib-values' => \$attrib_values,
'd|debug' => \$debug,
- 'emit_empty_tags' => \$emit_empty_tags,
+ 'emit-empty-tags' => \$emit_empty_tags,
'f|from|parser:s' => \$from,
'fs:s' => \$field_separator,
'h|help' => \$help,
) or pod2usage(2);
my @files = @ARGV; # source files
+unless ( @files ) {
+ if ( $from eq 'DBI' ) {
+ @files = ('!');
+ }
+ else {
+ @files = ('-');
+ }
+}
pod2usage(1) if $help;
exit(0);
}
-pod2usage( msg => 'Please supply "from" and "to" arguments' ) unless $from && $to;
+pod2usage( msg => 'Please supply "from" and "to" arguments' )
+ unless $from && $to;
$translator->parser($from);
$translator->producer($to);
for my $file (@files) {
- my $output = $translator->translate(file => $file) or die
+ my @args =
+ ($file eq '-') ? (data => \*STDIN) :
+ ($file eq '!') ? (data => '') :
+ (file => $file);
+
+ my $output = $translator->translate(@args) or die
"Error: " . $translator->error;
+
print $output;
}
=head1 AUTHOR
-Ken Y. Clark E<lt>kclark@cpan.orgE<gt>.
+Ken Y. Clark E<lt>kclark@cpan.orgE<gt>,
+darren chamberlain E<lt>darren@cpan.orgE<gt>.
=head1 SEE ALSO
-perl, SQL::Translator, Parse::RecDescent,
-L<http://sqlfairy.sourceforge.net>.
+SQL::Translator, L<http://sqlfairy.sourceforge.net>.
=cut