better Firebird type info
[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);
15
16$dbh->do($_) for (
17 q|CREATE TABLE foos (
18 fooid INTEGER PRIMARY KEY,
19 footext TEXT
20 )|,
21 q|CREATE TABLE bar (
22 barid INTEGER PRIMARY KEY,
b24cb177 23 foo_id INTEGER NOT NULL REFERENCES foos (fooid)
66afce69 24 )|,
a0e0a56a 25 q|CREATE TABLE bazs (
66afce69 26 bazid INTEGER PRIMARY KEY,
40914006 27 baz_num INTEGER NOT NULL UNIQUE,
28 stations_visited_id INTEGER REFERENCES stations_visited (id)
66afce69 29 )|,
a0e0a56a 30 q|CREATE TABLE quuxs (
66afce69 31 quuxid INTEGER PRIMARY KEY,
a0e0a56a 32 baz_id INTEGER NOT NULL UNIQUE,
33 FOREIGN KEY (baz_id) REFERENCES bazs (baz_num)
66afce69 34 )|,
ecf930e6 35 q|CREATE TABLE stations_visited (
40914006 36 id INTEGER PRIMARY KEY,
37 quuxs_id INTEGER REFERENCES quuxs (quuxid)
ecf930e6 38 )|,
39 q|CREATE TABLE email (
40 id INTEGER PRIMARY KEY,
41 to_id INTEGER REFERENCES foos (fooid),
42 from_id INTEGER REFERENCES foos (fooid)
43 )|,
a0e0a56a 44 q|INSERT INTO foos VALUES (1,'Foos text for number 1')|,
45 q|INSERT INTO foos VALUES (2,'Foos record associated with the Bar with barid 3')|,
46 q|INSERT INTO foos VALUES (3,'Foos text for number 3')|,
47 q|INSERT INTO foos VALUES (4,'Foos text for number 4')|,
66afce69 48 q|INSERT INTO bar VALUES (1,4)|,
49 q|INSERT INTO bar VALUES (2,3)|,
50 q|INSERT INTO bar VALUES (3,2)|,
51 q|INSERT INTO bar VALUES (4,1)|,
40914006 52 q|INSERT INTO bazs VALUES (1,20,1)|,
53 q|INSERT INTO bazs VALUES (2,19,1)|,
a0e0a56a 54 q|INSERT INTO quuxs VALUES (1,20)|,
55 q|INSERT INTO quuxs VALUES (2,19)|,
40914006 56 q|INSERT INTO stations_visited VALUES (1,1)|,
66afce69 57);
58
59END { unlink($fn); }
60
611;