X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F10_04db2_common.t;h=b86ca49051db6574965bd43fe12d6b51c168b140;hb=5975bbe67547badcbf19b1eded170ca6beea301b;hp=03b4b5412d0224c0ace7b5671a3745622a449c36;hpb=4a01c33f6602206d763851bcd795561499baa6e6;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/t/10_04db2_common.t b/t/10_04db2_common.t index 03b4b54..b86ca49 100644 --- a/t/10_04db2_common.t +++ b/t/10_04db2_common.t @@ -104,7 +104,7 @@ my $tester = dbixcsl_common_tests->new( # datalink => { data_type => 'datalink' }, }, extra => { - count => 28 * 2, + count => 30 * 2, run => sub { SKIP: { $schema = shift; @@ -129,12 +129,22 @@ EOF CREATE TABLE "dbicsl-test".db2_loader_test5 ( id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY, value VARCHAR(100), - four_id INTEGER NOT NULL UNIQUE, + four_id INTEGER NOT NULL, + CONSTRAINT loader_test5_uniq UNIQUE (four_id), FOREIGN KEY (four_id) REFERENCES "dbicsl-test".db2_loader_test4 (id) ) EOF $dbh->do('CREATE SCHEMA "dbicsl.test"'); $dbh->do(<<"EOF"); + CREATE TABLE "dbicsl.test".db2_loader_test5 ( + pk INT GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY, + value VARCHAR(100), + four_id INTEGER NOT NULL, + CONSTRAINT loader_test5_uniq UNIQUE (four_id), + FOREIGN KEY (four_id) REFERENCES "dbicsl-test".db2_loader_test4 (id) + ) +EOF + $dbh->do(<<"EOF"); CREATE TABLE "dbicsl.test".db2_loader_test6 ( id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL PRIMARY KEY, value VARCHAR(100), @@ -175,6 +185,7 @@ EOF { naming => 'current', db_schema => $db_schema, + moniker_parts => [qw/schema name/], dump_directory => EXTRA_DUMP_DIR, quiet => 1, }, @@ -193,7 +204,7 @@ EOF } 'connected test schema'; lives_and { - ok $rsrc = $test_schema->source('Db2LoaderTest4'); + ok $rsrc = $test_schema->source('DbicslDashTestDb2LoaderTest4'); } 'got source for table in schema name with dash'; is try { $rsrc->column_info('id')->{is_auto_increment} }, 1, @@ -206,14 +217,14 @@ EOF 'column in schema name with dash'; lives_and { - ok $rs = $test_schema->resultset('Db2LoaderTest4'); + ok $rs = $test_schema->resultset('DbicslDashTestDb2LoaderTest4'); } 'got resultset for table in schema name with dash'; lives_and { ok $row = $rs->create({ value => 'foo' }); } 'executed SQL on table in schema name with dash'; - $rel_info = try { $rsrc->relationship_info('db2_loader_test5') }; + $rel_info = try { $rsrc->relationship_info('dbicsl_dash_test_db2_loader_test5') }; is_deeply $rel_info->{cond}, { 'foreign.four_id' => 'self.id' @@ -226,7 +237,7 @@ EOF 'relationship in schema name with dash'; lives_and { - ok $rsrc = $test_schema->source('Db2LoaderTest5'); + ok $rsrc = $test_schema->source('DbicslDashTestDb2LoaderTest5'); } 'got source for table in schema name with dash'; %uniqs = try { $rsrc->unique_constraints }; @@ -234,8 +245,13 @@ EOF is keys %uniqs, 2, 'got unique and primary constraint in schema name with dash'; + delete $uniqs{primary}; + + is_deeply ((values %uniqs)[0], ['four_id'], + 'correct unique constraint in schema name with dash'); + lives_and { - ok $rsrc = $test_schema->source('Db2LoaderTest6'); + ok $rsrc = $test_schema->source('DbicslDotTestDb2LoaderTest6'); } 'got source for table in schema name with dot'; is try { $rsrc->column_info('id')->{is_auto_increment} }, 1, @@ -248,7 +264,7 @@ EOF 'column in schema name with dot introspected correctly'; lives_and { - ok $rs = $test_schema->resultset('Db2LoaderTest6'); + ok $rs = $test_schema->resultset('DbicslDotTestDb2LoaderTest6'); } 'got resultset for table in schema name with dot'; lives_and { @@ -268,7 +284,7 @@ EOF 'relationship in schema name with dot'; lives_and { - ok $rsrc = $test_schema->source('Db2LoaderTest7'); + ok $rsrc = $test_schema->source('DbicslDotTestDb2LoaderTest7'); } 'got source for table in schema name with dot'; %uniqs = try { $rsrc->unique_constraints }; @@ -276,23 +292,28 @@ EOF is keys %uniqs, 2, 'got unique and primary constraint in schema name with dot'; + delete $uniqs{primary}; + + is_deeply ((values %uniqs)[0], ['six_id'], + 'correct unique constraint in schema name with dot'); + lives_and { - ok $test_schema->source('Db2LoaderTest6') + ok $test_schema->source('DbicslDotTestDb2LoaderTest6') ->has_relationship('db2_loader_test4'); } 'cross-schema relationship in multi-db_schema'; lives_and { - ok $test_schema->source('Db2LoaderTest4') + ok $test_schema->source('DbicslDashTestDb2LoaderTest4') ->has_relationship('db2_loader_test6s'); } 'cross-schema relationship in multi-db_schema'; lives_and { - ok $test_schema->source('Db2LoaderTest8') + ok $test_schema->source('DbicslDashTestDb2LoaderTest8') ->has_relationship('db2_loader_test7'); } 'cross-schema relationship in multi-db_schema'; lives_and { - ok $test_schema->source('Db2LoaderTest7') + ok $test_schema->source('DbicslDotTestDb2LoaderTest7') ->has_relationship('db2_loader_test8s'); } 'cross-schema relationship in multi-db_schema'; } @@ -311,6 +332,7 @@ END { '"dbicsl.test".db2_loader_test7', '"dbicsl.test".db2_loader_test6', '"dbicsl-test".db2_loader_test5', + '"dbicsl.test".db2_loader_test5', '"dbicsl-test".db2_loader_test4') { try { $dbh->do("DROP TABLE $table");