X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FProducer%2FYAML.pm;h=f6d349b3688c2fdcf58971a446bf59b853313ed1;hb=935800450f88b0500c4fa7c3b174cd22b5f9eb56;hp=7970a615af1cf2dd614a0d087957e73a300c6964;hpb=758106cc9df8b7456f801b51e204e47b529ad9a9;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Producer/YAML.pm b/lib/SQL/Translator/Producer/YAML.pm index 7970a61..f6d349b 100644 --- a/lib/SQL/Translator/Producer/YAML.pm +++ b/lib/SQL/Translator/Producer/YAML.pm @@ -1,23 +1,5 @@ package SQL::Translator::Producer::YAML; -# ------------------------------------------------------------------- -# Copyright (C) 2002-2009 SQLFairy Authors -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; version 2. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA -# ------------------------------------------------------------------- - =head1 NAME SQL::Translator::Producer::YAML - A YAML producer for SQL::Translator @@ -78,7 +60,8 @@ sub produce { show_warnings => $translator->show_warnings, trace => $translator->trace, version => $translator->version, - } + }, + keys %{$schema->extra} ? ('extra' => { $schema->extra } ) : (), }); } @@ -101,6 +84,7 @@ sub view_table { map { ($_->name => view_field($_)) } $table->get_fields }, + keys %{$table->extra} ? ('extra' => { $table->extra } ) : (), }; } @@ -117,9 +101,10 @@ sub view_constraint { 'options' => scalar $constraint->options, 'on_delete' => scalar $constraint->on_delete, 'on_update' => scalar $constraint->on_update, - 'reference_fields' => scalar $constraint->reference_fields, + 'reference_fields' => [ map { ref $_ ? $_->name : $_ } $constraint->reference_fields ], 'reference_table' => scalar $constraint->reference_table, 'type' => scalar $constraint->type, + keys %{$constraint->extra} ? ('extra' => { $constraint->extra } ) : (), }; } @@ -138,7 +123,7 @@ sub view_field { 'is_unique' => scalar $field->is_unique, $field->is_auto_increment ? ('is_auto_increment' => 1) : (), $field->comments ? ('comments' => $field->comments) : (), - 'extra' => { $field->extra }, + keys %{$field->extra} ? ('extra' => { $field->extra } ) : (), }; } @@ -153,6 +138,7 @@ sub view_procedure { 'parameters' => scalar $procedure->parameters, 'owner' => scalar $procedure->owner, 'comments' => scalar $procedure->comments, + keys %{$procedure->extra} ? ('extra' => { $procedure->extra } ) : (), }; } @@ -168,6 +154,7 @@ sub view_trigger { 'fields' => scalar $trigger->fields, 'on_table' => scalar $trigger->on_table, 'action' => scalar $trigger->action, + keys %{$trigger->extra} ? ('extra' => { $trigger->extra } ) : (), }; } @@ -180,6 +167,7 @@ sub view_view { 'name' => scalar $view->name, 'sql' => scalar $view->sql, 'fields' => scalar $view->fields, + keys %{$view->extra} ? ('extra' => { $view->extra } ) : (), }; } @@ -192,6 +180,7 @@ sub view_index { 'type' => scalar $index->type, 'fields' => scalar $index->fields, 'options' => scalar $index->options, + keys %{$index->extra} ? ('extra' => { $index->extra } ) : (), }; } @@ -206,6 +195,6 @@ SQL::Translator, YAML, http://www.yaml.org/. =head1 AUTHORS darren chamberlain Edarren@cpan.orgE, -Ken Y. Clark Ekclark@cpan.orgE. +Ken Youens-Clark Ekclark@cpan.orgE. =cut