X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FDDL%2FMySQL.pm;fp=lib%2FSQL%2FTranslator%2FParser%2FDDL%2FMySQL.pm;h=2a23fdaf5749f7f3163fd9d50ef251abd3ff86db;hb=d69ea17e1889078ac8a624e67c0eeea14ec6f787;hp=e577f33de9296537daedec603383d86aa0dc58e1;hpb=9b0e2cdbf8f02bf4b331648cad547189d40b1377;p=dbsrgits%2FSQL-Translator-2.0-ish.git diff --git a/lib/SQL/Translator/Parser/DDL/MySQL.pm b/lib/SQL/Translator/Parser/DDL/MySQL.pm index e577f33..2a23fda 100644 --- a/lib/SQL/Translator/Parser/DDL/MySQL.pm +++ b/lib/SQL/Translator/Parser/DDL/MySQL.pm @@ -126,7 +126,26 @@ role SQL::Translator::Parser::DDL::MySQL { } $table->options( \@cleaned_options ); # or die $table->error; } + } + + for my $proc_name ( keys %{ $result->{procedures} } ) { + my $procedure = Procedure->new({ name => $proc_name, + owner => $result->{procedures}->{$proc_name}->{owner}, + sql => $result->{procedures}->{$proc_name}->{sql} + }); + $schema->add_procedure($procedure); + } + for my $view_name ( keys %{ $result->{'views'} } ) { + my $view = View->new({ + name => $view_name, + sql => $result->{'views'}->{$view_name}->{sql}, + }); + $schema->add_view($view); + } + for my $table_name (@tables) { + my $table = $schema->get_table($table_name); + my $tdata = $result->{tables}{ $table_name }; for my $cdata ( @{ $tdata->{constraints} || [] } ) { my $constraint; if (uc $cdata->{type} eq 'PRIMARY_KEY') { @@ -148,22 +167,6 @@ role SQL::Translator::Parser::DDL::MySQL { $table->add_constraint($constraint); } } - - for my $proc_name ( keys %{ $result->{procedures} } ) { - my $procedure = Procedure->new({ name => $proc_name, - owner => $result->{procedures}->{$proc_name}->{owner}, - sql => $result->{procedures}->{$proc_name}->{sql} - }); - $schema->add_procedure($procedure); - } - - for my $view_name ( keys %{ $result->{'views'} } ) { - my $view = View->new({ - name => $view_name, - sql => $result->{'views'}->{$view_name}->{sql}, - }); - $schema->add_view($view); - } return 1; } }