pass link table details to rel_name_map for many_to_many bridges (RT#81091)
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / lib / make_dbictest_db_multi_m2m.pm
1 package make_dbictest_db_multi_m2m;
2
3 use strict;
4 use warnings;
5 use DBI;
6 use dbixcsl_test_dir qw/$tdir/;
7
8 eval { require DBD::SQLite };
9 my $class = $@ ? 'SQLite2' : 'SQLite';
10
11 my $fn = "$tdir/dbictest_multi_m2m.db";
12
13 unlink($fn);
14 our $dsn = "dbi:$class:dbname=$fn";
15 my $dbh = DBI->connect($dsn);
16 $dbh->do('PRAGMA SYNCHRONOUS = OFF');
17
18 $dbh->do($_) for (
19     q|CREATE TABLE foo (
20         foo_id INTEGER PRIMARY KEY
21       )|,
22     q|CREATE TABLE bar (
23         bar_id INTEGER PRIMARY KEY
24       )|,
25     q|CREATE TABLE foo_bar_one (
26         foo_id INTEGER NOT NULL REFERENCES foo(foo_id),
27         bar_id INTEGER NOT NULL REFERENCES bar(bar_id),
28         PRIMARY KEY (foo_id, bar_id)
29       )|,
30     q|CREATE TABLE foo_bar_two (
31         foo_id INTEGER NOT NULL REFERENCES foo(foo_id),
32         bar_id INTEGER NOT NULL REFERENCES bar(bar_id),
33         PRIMARY KEY (foo_id, bar_id)
34       )|,
35     q|INSERT INTO FOO (foo_id) VALUES (1), (2)|,
36     q|INSERT INTO BAR (bar_id) VALUES (1), (2)|,
37     q|INSERT INTO foo_bar_one (foo_id, bar_id) VALUES (1,1),(2,2)|,
38     q|INSERT INTO foo_bar_two (foo_id, bar_id) VALUES (1,1),(1,2),(2,1),(2,2)|,
39 );
40
41 END { unlink($fn) unless $ENV{SCHEMA_LOADER_TESTS_NOCLEANUP}; }
42
43 1;