X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FDBIx%2FClass.pm;h=4f48015d38a82625b94c34341468307db4fa2e20;hb=5e253a3e0e5e369eb2285be32e0f7217638d8ad9;hp=58d2be989708975e2267abaeb9c6416f1c482ae4;hpb=c193d1d2d7138948d5b5d8b2b7ae19e12edb2cb0;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/SQL/Translator/Parser/DBIx/Class.pm b/lib/SQL/Translator/Parser/DBIx/Class.pm index 58d2be9..4f48015 100644 --- a/lib/SQL/Translator/Parser/DBIx/Class.pm +++ b/lib/SQL/Translator/Parser/DBIx/Class.pm @@ -156,15 +156,24 @@ sub parse { ) { $created_FK_rels{$rel_table}->{$key_test} = 1; - $table->add_constraint( - type => 'foreign_key', - name => "fk_$keys[0]", - fields => \@keys, - reference_fields => \@refkeys, - reference_table => $rel_table, - on_delete => $on_delete, - on_update => $on_update - ); + if (scalar(@keys)) { + $table->add_constraint( + type => 'foreign_key', + name => "fk_$keys[0]", + fields => \@keys, + reference_fields => \@refkeys, + reference_table => $rel_table, + on_delete => $on_delete, + on_update => $on_update + ); + + my $index = $table->add_index( + name => $table->name . "_fk_$keys[0]", + fields => \@keys, + type => 'NORMAL', + ); + } + } } }