primary key fix
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Parser / DDL / MySQL.pm
index 1ec752a..e577f33 100644 (file)
@@ -70,7 +70,7 @@ role SQL::Translator::Parser::DDL::MySQL {
                 $field->comments($fdata->{comments});
                 $table->add_column($field);
     
-                $table->primary_key( $field->name ) if $fdata->{'is_primary_key'};
+                $field->is_primary_key(1) if $fdata->{is_primary_key};
 
                 my %extra;
                 for my $qual ( qw[ binary unsigned zerofill list collate ],
@@ -136,7 +136,7 @@ role SQL::Translator::Parser::DDL::MySQL {
                     $constraint = ForeignKey->new({ name => $cdata->{name} || '',
                                                     table => $table,
                                                     reference_table => $cdata->{reference_table},
-                                                    reference_columns => $cdata->{reference_fields},
+                                                    defined $cdata->{reference_fields} ? (reference_columns => $cdata->{reference_fields}) : (),
                                                     on_delete => $cdata->{on_delete} || $cdata->{on_delete_do},
                                                     on_update => $cdata->{on_update} || $cdata->{on_update_do} });
                     $table->get_column($_)->is_foreign_key(1) for @{$cdata->{fields}};