my $extra_count = $self->{extra}{count} || 0;
- my $col_accessor_map_tests = 5;
+ my $col_accessor_map_tests = 6;
my $num_rescans = 6;
$num_rescans++ if $self->{vendor} eq 'mssql';
$num_rescans++ if $self->{vendor} eq 'Firebird';
$expected_count += grep $_ =~ SOURCE_DDL,
@{ $self->{extra}{create} || [] };
- $expected_count -= grep /CREATE TABLE/, @statements_inline_rels
+ $expected_count -= grep /CREATE TABLE/i, @statements_inline_rels
if $self->{skip_rels} || $self->{no_inline_rels};
- $expected_count -= grep /CREATE TABLE/, @statements_implicit_rels
+ $expected_count -= grep /CREATE TABLE/i, @statements_implicit_rels
if $self->{skip_rels} || $self->{no_implicit_rels};
- $expected_count -= grep /CREATE TABLE/, ($self->{vendor} =~ /sqlite/ ? @statements_advanced_sqlite : @statements_advanced), @statements_reltests
+ $expected_count -= grep /CREATE TABLE/i, ($self->{vendor} =~ /sqlite/ ? @statements_advanced_sqlite : @statements_advanced), @statements_reltests
if $self->{skip_rels};
}
ok ((not try { exists $rsobj3->result_source->relationship_info('loader_test4zes')->{attrs}{is_deferrable} }),
'has_many does not have is_deferrable');
- like try { $rsobj4->result_source->relationship_info('fkid_singular')->{attrs}{on_delete} },
- qr/^(?:CASCADE|RESTRICT)\z/,
- "on_delete is either CASCADE or RESTRICT on belongs_to by default";
+ my $default_on_clause = $self->{default_on_clause} || 'CASCADE';
- like try { $rsobj4->result_source->relationship_info('fkid_singular')->{attrs}{on_update} },
- qr/^(?:CASCADE|RESTRICT)\z/,
- "on_update is either CASCADE or RESTRICT on belongs_to by default";
+ my $default_on_delete_clause = $self->{default_on_delete_clause} || $default_on_clause;
- is try { $rsobj4->result_source->relationship_info('fkid_singular')->{attrs}{is_deferrable} }, 1,
- "is_deferrable => 1 on belongs_to by default";
+ is try { $rsobj4->result_source->relationship_info('fkid_singular')->{attrs}{on_delete} },
+ $default_on_delete_clause,
+ "on_delete is $default_on_delete_clause on belongs_to by default";
+
+ my $default_on_update_clause = $self->{default_on_update_clause} || $default_on_clause;
+
+ is try { $rsobj4->result_source->relationship_info('fkid_singular')->{attrs}{on_update} },
+ $default_on_update_clause,
+ "on_update is $default_on_update_clause on belongs_to by default";
+
+ my $default_is_deferrable = $self->{default_is_deferrable};
+
+ $default_is_deferrable = 1
+ if not defined $default_is_deferrable;
+
+ is try { $rsobj4->result_source->relationship_info('fkid_singular')->{attrs}{is_deferrable} },
+ $default_is_deferrable,
+ "is_deferrable => $default_is_deferrable on belongs_to by default";
ok ((not try { exists $rsobj4->result_source->relationship_info('fkid_singular')->{attrs}{cascade_delete} }),
'belongs_to does not have cascade_delete');
ok($m2m = (try { $class18->_m2m_metadata->{children} }), 'many_to_many created');
- is $m2m->{relation}, 'loader_test20s', 'm2m near rel';
+ is $m2m->{relation}, 'loader_test20s', 'm2m near has_many rel';
is $m2m->{foreign_relation}, 'child', 'm2m far rel';
ok($m2m = (try { $class19->_m2m_metadata->{parents} }), 'many_to_many created');
- is $m2m->{relation}, 'loader_test20s', 'm2m near rel';
+ is $m2m->{relation}, 'loader_test20', 'm2m near might_have rel';
is $m2m->{foreign_relation}, 'parent', 'm2m far rel';
# test double multi-col fk 26 -> 25
qq{
CREATE TABLE loader_test20 (
parent INTEGER NOT NULL,
- child INTEGER NOT NULL,
+ child INTEGER NOT NULL UNIQUE,
PRIMARY KEY (parent, child),
FOREIGN KEY (parent) REFERENCES loader_test18 (id),
FOREIGN KEY (child) REFERENCES loader_test19 (id)
is( $default_name, 'crumb_crisp_coating', 'col_accessor_map was passed the default name' );
ok( $context->{$_}, "col_accessor_map func was passed the $_" )
- for qw( table_name table_class table_moniker schema_class );
+ for qw( table table_name table_class table_moniker schema_class );
return 'trivet';
} else {