Better cleanup during common tests
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / lib / make_dbictest_db_with_unique.pm
CommitLineData
c496748b 1package make_dbictest_db_with_unique;
66afce69 2
3use strict;
4use warnings;
5use DBI;
6
7eval { require DBD::SQLite };
8my $class = $@ ? 'SQLite2' : 'SQLite';
9
f812ef60 10my $fn = './t/dbictest_with_unique.db';
66afce69 11
12unlink($fn);
13our $dsn = "dbi:$class:dbname=$fn";
14my $dbh = DBI->connect($dsn);
be9f4d42 15$dbh->do('PRAGMA SYNCHRONOUS = OFF');
66afce69 16
17$dbh->do($_) for (
18 q|CREATE TABLE foos (
19 fooid INTEGER PRIMARY KEY,
20 footext TEXT
21 )|,
22 q|CREATE TABLE bar (
23 barid INTEGER PRIMARY KEY,
b24cb177 24 foo_id INTEGER NOT NULL REFERENCES foos (fooid)
66afce69 25 )|,
a0e0a56a 26 q|CREATE TABLE bazs (
66afce69 27 bazid INTEGER PRIMARY KEY,
40914006 28 baz_num INTEGER NOT NULL UNIQUE,
29 stations_visited_id INTEGER REFERENCES stations_visited (id)
66afce69 30 )|,
a0e0a56a 31 q|CREATE TABLE quuxs (
66afce69 32 quuxid INTEGER PRIMARY KEY,
a0e0a56a 33 baz_id INTEGER NOT NULL UNIQUE,
34 FOREIGN KEY (baz_id) REFERENCES bazs (baz_num)
66afce69 35 )|,
ecf930e6 36 q|CREATE TABLE stations_visited (
40914006 37 id INTEGER PRIMARY KEY,
38 quuxs_id INTEGER REFERENCES quuxs (quuxid)
ecf930e6 39 )|,
9990e58f 40 q|CREATE TABLE RouteChange (
41 id INTEGER PRIMARY KEY,
a9a6e6bb 42 QuuxsId INTEGER REFERENCES quuxs (quuxid),
43 Foo2Bar INTEGER
9990e58f 44 )|,
ecf930e6 45 q|CREATE TABLE email (
46 id INTEGER PRIMARY KEY,
47 to_id INTEGER REFERENCES foos (fooid),
48 from_id INTEGER REFERENCES foos (fooid)
49 )|,
a0e0a56a 50 q|INSERT INTO foos VALUES (1,'Foos text for number 1')|,
51 q|INSERT INTO foos VALUES (2,'Foos record associated with the Bar with barid 3')|,
52 q|INSERT INTO foos VALUES (3,'Foos text for number 3')|,
53 q|INSERT INTO foos VALUES (4,'Foos text for number 4')|,
66afce69 54 q|INSERT INTO bar VALUES (1,4)|,
55 q|INSERT INTO bar VALUES (2,3)|,
56 q|INSERT INTO bar VALUES (3,2)|,
57 q|INSERT INTO bar VALUES (4,1)|,
40914006 58 q|INSERT INTO bazs VALUES (1,20,1)|,
59 q|INSERT INTO bazs VALUES (2,19,1)|,
a0e0a56a 60 q|INSERT INTO quuxs VALUES (1,20)|,
61 q|INSERT INTO quuxs VALUES (2,19)|,
40914006 62 q|INSERT INTO stations_visited VALUES (1,1)|,
a9a6e6bb 63 q|INSERT INTO RouteChange VALUES (1,1,3)|,
66afce69 64);
65
66END { unlink($fn); }
67
681;