1package make_dbictest_db_multi_m2m;
2
3use strict;
4use warnings;
5use DBI;
6use dbixcsl_test_dir qw/$tdir/;
7
8eval { require DBD::SQLite };
9my $class = $@ ? 'SQLite2' : 'SQLite';
10
11my $fn = "$tdir/dbictest_multi_m2m.db";
12
13unlink($fn);
14our $dsn = "dbi:$class:dbname=$fn";
15my $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)|,
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)|,
45);
46
47END { unlink($fn) unless $ENV{SCHEMA_LOADER_TESTS_NOCLEANUP}; }
48
491;
50