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