use Exporter;
use SQL::Translator::Utils qw(debug normalize_name);
use DBIx::Class::Carp qw/^SQL::Translator|^DBIx::Class|^Try::Tiny/;
-use DBIx::Class::_Util qw( dbic_internal_try dbic_internal_catch );
+use DBIx::Class::_Util qw( dbic_internal_try dbic_internal_catch bag_eq );
use Class::C3::Componentised;
use Scalar::Util 'blessed';
use namespace::clean;
my %unique_constraints = $source->unique_constraints;
foreach my $uniq (sort keys %unique_constraints) {
- if (!$source->_compare_relationship_keys($unique_constraints{$uniq}, \@primary)) {
- $table->add_constraint(
- type => 'unique',
- name => $uniq,
- fields => $unique_constraints{$uniq}
- );
- }
+ $table->add_constraint(
+ type => 'unique',
+ name => $uniq,
+ fields => $unique_constraints{$uniq}
+ ) unless bag_eq( \@primary, $unique_constraints{$uniq} );
}
my @rels = $source->relationships();
# this is supposed to indicate a has_one/might_have...
# where's the introspection!!?? :)
else {
- $fk_constraint = not $source->_compare_relationship_keys(\@keys, \@primary);
+ $fk_constraint = ! bag_eq( \@keys, \@primary );
}