X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FYAML.pm;h=af3b31bbe73aea1074a81dac12a8e08c9664dc66;hb=HEAD;hp=fd0c9b74063557b931fecbcab39176dc3013b20e;hpb=935800450f88b0500c4fa7c3b174cd22b5f9eb56;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator/Parser/YAML.pm b/lib/SQL/Translator/Parser/YAML.pm index fd0c9b7..af3b31b 100644 --- a/lib/SQL/Translator/Parser/YAML.pm +++ b/lib/SQL/Translator/Parser/YAML.pm @@ -1,8 +1,8 @@ package SQL::Translator::Parser::YAML; use strict; -use vars qw($VERSION); -$VERSION = '1.59'; +use warnings; +our $VERSION = '1.62'; use SQL::Translator::Schema; use SQL::Translator::Utils qw(header_comment); @@ -21,7 +21,7 @@ sub parse { # # Tables # - my @tables = + my @tables = map { $data->{'tables'}{ $_->[1] } } sort { $a->[0] <=> $b->[0] } map { [ $data->{'tables'}{ $_ }{'order'} || 0, $_ ] } @@ -29,14 +29,14 @@ sub parse { ; for my $tdata ( @tables ) { - + my $table = $schema->add_table( map { $tdata->{$_} ? ($_ => $tdata->{$_}) : () } (qw/name extra options/) ) or die $schema->error; - my @fields = + my @fields = map { $tdata->{'fields'}{ $_->[1] } } sort { $a->[0] <=> $b->[0] } map { [ $tdata->{'fields'}{ $_ }{'order'}, $_ ] } @@ -45,7 +45,7 @@ sub parse { for my $fdata ( @fields ) { $table->add_field( %$fdata ) or die $table->error; - $table->primary_key( $fdata->{'name'} ) + $table->primary_key( $fdata->{'name'} ) if $fdata->{'is_primary_key'}; } @@ -61,7 +61,7 @@ sub parse { # # Views # - my @views = + my @views = map { $data->{'views'}{ $_->[1] } } sort { $a->[0] <=> $b->[0] } map { [ $data->{'views'}{ $_ }{'order'}, $_ ] } @@ -75,7 +75,7 @@ sub parse { # # Triggers # - my @triggers = + my @triggers = map { $data->{'triggers'}{ $_->[1] } } sort { $a->[0] <=> $b->[0] } map { [ $data->{'triggers'}{ $_ }{'order'}, $_ ] } @@ -89,7 +89,7 @@ sub parse { # # Procedures # - my @procedures = + my @procedures = map { $data->{'procedures'}{ $_->[1] } } sort { $a->[0] <=> $b->[0] } map { [ $data->{'procedures'}{ $_ }{'order'}, $_ ] }