use Class::C3;
use Carp::Clan qw/^DBIx::Class/;
use Lingua::EN::Inflect::Phrase ();
-use DBIx::Class::Schema::Loader::Constants 'BY_CASE_TRANSITION';
+use DBIx::Class::Schema::Loader::Utils 'split_name';
-our $VERSION = '0.07000';
+our $VERSION = '0.07001';
=head1 NAME
belongs_to => {
on_delete => 'CASCADE',
on_update => 'CASCADE',
-# is_deferrable => 1,
+ is_deferrable => 1,
},
} }
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) = @_;
- my @words = split BY_CASE_TRANSITION, $name;
+ $name = $self->_sanitize_name($name);
+
+ my @words = split_name $name;
return join '_', map lc, @words;
}