X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator%2FParser%2FDBIx%2FClass.pm;fp=lib%2FSQL%2FTranslator%2FParser%2FDBIx%2FClass.pm;h=4fd03f2ec90239141254419b209f34df1ad0ae30;hb=0e14d9181e757764af264ea104ae566fab8dcdb4;hp=d8f5344f3fbeed847333737dda2e21a8638a8d68;hpb=ba0e8d1c2554716b2fef6dc00672c5eb8aaab368;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/SQL/Translator/Parser/DBIx/Class.pm b/lib/SQL/Translator/Parser/DBIx/Class.pm index d8f5344..4fd03f2 100644 --- a/lib/SQL/Translator/Parser/DBIx/Class.pm +++ b/lib/SQL/Translator/Parser/DBIx/Class.pm @@ -252,9 +252,12 @@ sub parse { $tables{$table_name}{foreign_table_deps}{$rel_table}++; } + # trim schema before generating constraint/index names + (my $table_abbrev = $table_name) =~ s/ ^ [^\.]+ \. //x; + $table->add_constraint( type => 'foreign_key', - name => join('_', $table_name, 'fk', @keys), + name => join('_', $table_abbrev, 'fk', @keys), fields => \@keys, reference_fields => \@refkeys, reference_table => $rel_table, @@ -275,8 +278,9 @@ sub parse { next if join("\x00", @keys) eq join("\x00", @primary); if ($add_fk_index_rel) { + (my $idx_name = $table_name) =~ s/ ^ [^\.]+ \. //x; my $index = $table->add_index( - name => join('_', $table_name, 'idx', @keys), + name => join('_', $table_abbrev, 'idx', @keys), fields => \@keys, type => 'NORMAL', );