X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FProducer%2FSQLServer.pm;h=c1181ca26e160a5983b5b999608430cf19f98074;hb=22c0c10f6f2a82042901b965af80f79677a0aa42;hp=1a952a2b69459e2b91f83ebfb17c4510b47076db;hpb=c709166063bd128e162fbecb08c96fec46bc4035;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Producer/SQLServer.pm b/lib/SQL/Translator/Producer/SQLServer.pm index 1a952a2..c1181ca 100644 --- a/lib/SQL/Translator/Producer/SQLServer.pm +++ b/lib/SQL/Translator/Producer/SQLServer.pm @@ -11,47 +11,15 @@ use SQL::Translator::Utils qw(debug header_comment); use SQL::Translator::Generator::DDL::SQLServer; sub produce { - my $translator = shift; - my $future = SQL::Translator::Generator::DDL::SQLServer->new( - add_comments => !$translator->no_comments, - add_drop_tables => $translator->add_drop_table, - ); - - my $schema = $translator->schema; - - my $output = $future->header_comments - . $future->drop_tables($schema); - - for my $table ( grep { $_->name } $schema->get_tables ) { - $output .= join( "\n\n", - $future->table_comments($table), - # index defs - $future->table($table), - (map $future->unique_constraint_multiple($_), - grep { - $_->type eq UNIQUE && - grep { $_->is_nullable } $_->fields - } $table->get_constraints), - - (map $future->index($_), $table->get_indices) - ); - } - - my @foreign_constraints = $future->foreign_key_constraints($schema); - $output .= join ("\n", '', @foreign_constraints) if @foreign_constraints; - - return $output; + my $translator = shift; + SQL::Translator::Generator::DDL::SQLServer->new( + add_comments => !$translator->no_comments, + add_drop_tables => $translator->add_drop_table, + )->schema($translator->schema) } 1; -=pod - -=head1 SQLServer Create Table Syntax - -TODO - - =head1 NAME SQL::Translator::Producer::SQLServer - MS SQLServer producer for SQL::Translator @@ -65,8 +33,8 @@ SQL::Translator::Producer::SQLServer - MS SQLServer producer for SQL::Translator =head1 DESCRIPTION -BB This is still fairly early code, basically a hacked version of the -Sybase Producer (thanks Sam, Paul and Ken for doing the real work ;-) +This is currently a thin wrapper around the nextgen +L DDL maker. =head1 Extra Attributes @@ -111,11 +79,20 @@ List of values for an enum field. =head1 SEE ALSO -SQL::Translator. +L =head1 AUTHORS -Mark Addison Egrommit@users.sourceforge.netE - Bulk of code from -Sybase producer, I just tweaked it for SQLServer. Thanks. +See the included AUTHORS file: +L + +=head1 COPYRIGHT + +Copyright (c) 2012 the SQL::Translator L as listed above. + +=head1 LICENSE + +This code is free software and may be distributed under the same terms as Perl +itself. =cut