Commit | Line | Data |
4d9d84d5 |
1 | use strict; |
2 | use warnings; |
3 | use DBICTest::Schema; |
4 | |
5 | my $db_file = "t/var/DBIxClass.db"; |
6 | |
7 | unlink($db_file) if -e $db_file; |
8 | unlink($db_file . "-journal") if -e $db_file . "-journal"; |
9 | mkdir("t/var") unless -d "t/var"; |
10 | |
11 | my $dsn = "dbi:SQLite:${db_file}"; |
12 | |
13 | my $schema = DBICTest::Schema->compose_connection('DBICTest' => $dsn); |
14 | |
15 | my $dbh = DBI->connect($dsn); |
16 | |
17 | my $sql = <<EOSQL; |
4d9d84d5 |
18 | |
19 | INSERT INTO artist (artistid, name) VALUES (1, 'Caterwauler McCrae'); |
20 | |
21 | INSERT INTO artist (artistid, name) VALUES (2, 'Random Boy Band'); |
22 | |
23 | INSERT INTO artist (artistid, name) VALUES (3, 'We Are Goth'); |
24 | |
25 | INSERT INTO cd (cdid, artist, title, year) |
26 | VALUES (1, 1, "Spoonful of bees", 1999); |
27 | |
28 | INSERT INTO cd (cdid, artist, title, year) |
29 | VALUES (2, 1, "Forkful of bees", 2001); |
30 | |
31 | INSERT INTO cd (cdid, artist, title, year) |
32 | VALUES (3, 1, "Caterwaulin' Blues", 1997); |
33 | |
34 | INSERT INTO cd (cdid, artist, title, year) |
35 | VALUES (4, 2, "Generic Manufactured Singles", 2001); |
36 | |
37 | INSERT INTO cd (cdid, artist, title, year) |
38 | VALUES (5, 3, "Come Be Depressed With Us", 1998); |
39 | |
40 | INSERT INTO liner_notes (liner_id, notes) |
41 | VALUES (2, "Buy Whiskey!"); |
42 | |
43 | INSERT INTO liner_notes (liner_id, notes) |
44 | VALUES (4, "Buy Merch!"); |
45 | |
46 | INSERT INTO liner_notes (liner_id, notes) |
47 | VALUES (5, "Kill Yourself!"); |
48 | |
49 | INSERT INTO tags (tagid, cd, tag) VALUES (1, 1, "Blue"); |
50 | |
51 | INSERT INTO tags (tagid, cd, tag) VALUES (2, 2, "Blue"); |
52 | |
53 | INSERT INTO tags (tagid, cd, tag) VALUES (3, 3, "Blue"); |
54 | |
55 | INSERT INTO tags (tagid, cd, tag) VALUES (4, 5, "Blue"); |
56 | |
57 | INSERT INTO tags (tagid, cd, tag) VALUES (5, 2, "Cheesy"); |
58 | |
59 | INSERT INTO tags (tagid, cd, tag) VALUES (6, 4, "Cheesy"); |
60 | |
61 | INSERT INTO tags (tagid, cd, tag) VALUES (7, 5, "Cheesy"); |
62 | |
63 | INSERT INTO tags (tagid, cd, tag) VALUES (8, 2, "Shiny"); |
64 | |
65 | INSERT INTO tags (tagid, cd, tag) VALUES (9, 4, "Shiny"); |
66 | |
67 | INSERT INTO twokeys (artist, cd) VALUES (1, 1); |
68 | |
69 | INSERT INTO twokeys (artist, cd) VALUES (1, 2); |
70 | |
71 | INSERT INTO twokeys (artist, cd) VALUES (2, 2); |
72 | |
73 | INSERT INTO fourkeys (foo, bar, hello, goodbye) VALUES (1, 2, 3, 4); |
74 | |
75 | INSERT INTO fourkeys (foo, bar, hello, goodbye) VALUES (5, 4, 3, 6); |
76 | |
77 | INSERT INTO onekey (id, artist, cd) VALUES (1, 1, 1); |
78 | |
79 | INSERT INTO onekey (id, artist, cd) VALUES (2, 1, 2); |
80 | |
81 | INSERT INTO onekey (id, artist, cd) VALUES (3, 2, 2); |
82 | |
83 | INSERT INTO self_ref (id, name) VALUES (1, 'First'); |
84 | |
85 | INSERT INTO self_ref (id, name) VALUES (2, 'Second'); |
86 | |
87 | INSERT INTO self_ref_alias (self_ref, alias) VALUES (1, 2); |
88 | |
5efe4c79 |
89 | INSERT INTO artist_undirected_map (id1, id2) VALUES (1, 2); |
90 | |
4d9d84d5 |
91 | INSERT INTO producer (producerid, name) VALUES (1, 'Matt S Trout'); |
92 | |
93 | INSERT INTO cd_to_producer (cd, producer) VALUES (1, 1); |
94 | |
95 | EOSQL |
96 | |
0009fa49 |
97 | open IN, "t/lib/sqlite.sql"; |
98 | |
99 | { local $/ = undef; $sql = <IN>.$sql; } |
100 | |
101 | close IN; |
102 | |
4d9d84d5 |
103 | $dbh->do($_) for split(/\n\n/, $sql); |
104 | |
105 | $schema->storage->dbh->do("PRAGMA synchronous = OFF"); |
106 | |
107 | 1; |
0009fa49 |
108 | |
109 | __DATA__ |
110 | |
111 | CREATE TABLE artist (artistid INTEGER NOT NULL PRIMARY KEY, name VARCHAR); |
112 | |
113 | CREATE TABLE cd (cdid INTEGER NOT NULL PRIMARY KEY, artist INTEGER NOT NULL, |
114 | title VARCHAR, year VARCHAR); |
115 | |
116 | CREATE TABLE liner_notes (liner_id INTEGER NOT NULL PRIMARY KEY, notes VARCHAR); |
117 | |
118 | CREATE TABLE track (trackid INTEGER NOT NULL PRIMARY KEY, cd INTEGER NOT NULL, |
119 | position INTEGER NOT NULL, title VARCHAR); |
120 | |
121 | CREATE TABLE tags (tagid INTEGER NOT NULL PRIMARY KEY, cd INTEGER NOT NULL, |
122 | tag VARCHAR); |
123 | |
124 | CREATE TABLE twokeys (artist INTEGER NOT NULL, cd INTEGER NOT NULL, |
125 | PRIMARY KEY (artist, cd) ); |
126 | |
127 | CREATE TABLE fourkeys (foo INTEGER NOT NULL, bar INTEGER NOT NULL, |
128 | hello INTEGER NOT NULL, goodbye INTEGER NOT NULL, |
129 | PRIMARY KEY (foo, bar, hello, goodbye) ); |
130 | |
131 | CREATE TABLE onekey (id INTEGER NOT NULL PRIMARY KEY, |
132 | artist INTEGER NOT NULL, cd INTEGER NOT NULL ); |
133 | |
134 | CREATE TABLE self_ref (id INTEGER NOT NULL PRIMARY KEY, |
135 | name VARCHAR ); |
136 | |
137 | CREATE TABLE self_ref_alias (self_ref INTEGER NOT NULL, alias INTEGER NOT NULL, |
138 | PRIMARY KEY( self_ref, alias ) ); |
139 | |
140 | CREATE TABLE artist_undirected_map (id1 INTEGER NOT NULL, id2 INTEGER NOT NULL, PRIMARY KEY(id1, id2)); |
141 | |
142 | CREATE TABLE producer (producerid INTEGER NOT NULL PRIMARY KEY, name VARCHAR); |
143 | |
144 | CREATE TABLE cd_to_producer (cd INTEGER NOT NULL, producer INTEGER NOT NULL); |
145 | |