Commit | Line | Data |
da7342ae |
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) |
494e0205 |
34 | )|, |
616e34fe |
35 | q|INSERT INTO foo (foo_id) VALUES (1)|, |
36 | q|INSERT INTO foo (foo_id) VALUES (2)|, |
37 | q|INSERT INTO bar (bar_id) VALUES (1)|, |
38 | q|INSERT INTO bar (bar_id) VALUES (2)|, |
39 | q|INSERT INTO foo_bar_one (foo_id, bar_id) VALUES (1,1)|, |
40 | q|INSERT INTO foo_bar_one (foo_id, bar_id) VALUES (2,2)|, |
41 | q|INSERT INTO foo_bar_two (foo_id, bar_id) VALUES (1,1)|, |
42 | q|INSERT INTO foo_bar_two (foo_id, bar_id) VALUES (1,2)|, |
43 | q|INSERT INTO foo_bar_two (foo_id, bar_id) VALUES (2,1)|, |
44 | q|INSERT INTO foo_bar_two (foo_id, bar_id) VALUES (2,2)|, |
494e0205 |
45 | ); |
da7342ae |
46 | |
47 | END { unlink($fn) unless $ENV{SCHEMA_LOADER_TESTS_NOCLEANUP}; } |
48 | |
49 | 1; |