X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FXML%2FSQLFairy.pm;h=7baa5178853cb8da731f6d2e1fb624ae7fe95858;hb=85633bfb6abd15f823ffd36dfddb9f7978a3ebfa;hp=d4a06ad5979aa81ea9c6af41021683ef746e638e;hpb=87c5565efa0003b1cf1fcbd08b3b6891cd0c957b;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Parser/XML/SQLFairy.pm b/lib/SQL/Translator/Parser/XML/SQLFairy.pm index d4a06ad..7baa517 100644 --- a/lib/SQL/Translator/Parser/XML/SQLFairy.pm +++ b/lib/SQL/Translator/Parser/XML/SQLFairy.pm @@ -1,7 +1,7 @@ package SQL::Translator::Parser::XML::SQLFairy; # ------------------------------------------------------------------- -# $Id: SQLFairy.pm,v 1.9 2004-08-19 14:08:59 grommit Exp $ +# $Id: SQLFairy.pm,v 1.11 2004-08-20 11:01:48 grommit Exp $ # ------------------------------------------------------------------- # Copyright (C) 2003 Mark Addison , # @@ -27,22 +27,21 @@ SQL::Translator::Parser::XML::SQLFairy - parser for SQL::Translator's XML. =head1 SYNOPSIS use SQL::Translator; - use SQL::Translator::Parser::XML::SQLFairy; - my $translator = SQL::Translator->new( - from => 'XML-SQLFairy', - to => 'MySQL', - filename => 'schema.xml', - show_warnings => 1, - add_drop_table => 1, - ); + my $translator = SQL::Translator->new( show_warnings => 1 ); - print $obj->translate; + my $out = $obj->translate( + from => 'XML-SQLFairy', + to => 'MySQL', + filename => 'schema.xml', + ) or die $translator->error; + + print $out; =head1 DESCRIPTION This parser handles the flavor of XML used natively by the SQLFairy -project (SQL::Translator). The XML must be in the namespace +project (L). The XML must be in the namespace "http://sqlfairy.sourceforge.net/sqlfairy.xml." See L for details of this format. @@ -64,15 +63,14 @@ tags then the order the tags appear in the XML will be used. =head2 default_value -Leave the tag out all together to use the default in Schema::Field. -Use empty tags or 'EMPTY_STRING' for a zero lenth string. 'NULL' for an +Leave the attribute out all together to use the default in L. +Use empty quotes or 'EMPTY_STRING' for a zero lenth string. 'NULL' for an explicit null (currently sets default_value to undef in the Schema::Field obj). - - EMPTY_STRING - - NULL + + + =head2 ARGS @@ -88,13 +86,12 @@ XPathing etc! So we have moved to a fixed version described in L. This version of the parser will still parse the old formats and emmit warnings -when it sees them being used. -The old format is B and B be supported in future -versions. +when it sees them being used but they should be considered B. -To convert your old format files simply pass them through the translator; +To convert your old format files simply pass them through the translator :) - sqlt -f XML-SQLFairy -t XML-SQLFairy schema-old.xml > schema-new.xml + $ sqlt -f XML-SQLFairy -t XML-SQLFairy schema-old.xml > schema-new.xml =cut @@ -103,7 +100,7 @@ To convert your old format files simply pass them through the translator; use strict; use vars qw[ $DEBUG $VERSION @EXPORT_OK ]; -$VERSION = sprintf "%d.%02d", q$Revision: 1.9 $ =~ /(\d+)\.(\d+)/; +$VERSION = sprintf "%d.%02d", q$Revision: 1.11 $ =~ /(\d+)\.(\d+)/; $DEBUG = 0 unless defined $DEBUG; use Data::Dumper; @@ -311,6 +308,11 @@ Ignores the order attribute for Constraints, Views, Indices, Views, Triggers and Procedures, using the tag order instead. (This is the order output by the SQLFairy XML producer). +=head1 SEE ALSO + +L, L, L, +L. + =head1 TODO =over 4 @@ -325,7 +327,7 @@ Test foreign keys are parsed ok. =item * -Control over defaulting of non-existant tags. +Control over defaulting. =back @@ -333,9 +335,4 @@ Control over defaulting of non-existant tags. Mark D. Addison Emark.addison@itn.co.ukE. -=head1 SEE ALSO - -perl(1), SQL::Translator, SQL::Translator::Producer::XML::SQLFairy, -SQL::Translator::Schema. - =cut