# vim: set ft=perl:
# -------------------------------------------------------------------
-# $Id: sqlt,v 1.5 2003-10-04 01:22:46 kycl4rk Exp $
+# $Id: sqlt,v 1.9 2003-10-15 20:07:11 kycl4rk 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.9 $ =~ /(\d+)\.(\d+)/;
my $from; # the original database
my $to; # the destination database
) 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