X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FLoader%2FRelBuilder.pm;h=e3475dd6e3a3d5bdb38131b86c8dd693261a6508;hb=414c61a02b22a17b8dbdad49e4e47d4cee1c3981;hp=a0de1814303f4048551906820d1cab9f7e49cc26;hpb=6b1d4f76b756e4b4119153a1f1e8a7bd59ad4e87;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/lib/DBIx/Class/Schema/Loader/RelBuilder.pm b/lib/DBIx/Class/Schema/Loader/RelBuilder.pm index a0de181..e3475dd 100644 --- a/lib/DBIx/Class/Schema/Loader/RelBuilder.pm +++ b/lib/DBIx/Class/Schema/Loader/RelBuilder.pm @@ -213,9 +213,26 @@ sub _remote_attrs { return $attrs; } +sub _sanitize_name { + my ($self, $name) = @_; + + if (ref $name) { + # scalar ref for weird table name (like one containing a '.') + ($name = $$name) =~ s/\W+/_/g; + } + else { + # remove 'schema.' prefix if any + $name =~ s/^[^.]+\.//; + } + + return $name; +} + sub _normalize_name { my ($self, $name) = @_; + $name = $self->_sanitize_name($name); + my @words = split_name $name; return join '_', map lc, @words;