Commit | Line | Data |
510ca912 |
1 | use strict; |
2 | use warnings; |
a02675cd |
3 | use DBICTest::Schema; |
60786fdc |
4 | use DateTime; |
510ca912 |
5 | |
6 | my $db_file = "t/var/DBIxClass.db"; |
7 | |
8 | unlink($db_file) if -e $db_file; |
9 | unlink($db_file . "-journal") if -e $db_file . "-journal"; |
10 | mkdir("t/var") unless -d "t/var"; |
11 | |
a02675cd |
12 | DBICTest::Schema->compose_connection('DBICTest' => "dbi:SQLite:${db_file}"); |
510ca912 |
13 | |
a02675cd |
14 | my $dbh = DBICTest->storage->dbh; |
510ca912 |
15 | |
16 | my $sql = <<EOSQL; |
17 | CREATE TABLE artist (artistid INTEGER NOT NULL PRIMARY KEY, name VARCHAR); |
18 | |
19 | CREATE TABLE cd (cdid INTEGER NOT NULL PRIMARY KEY, artist INTEGER NOT NULL, |
20 | title VARCHAR, year VARCHAR); |
21 | |
22 | CREATE TABLE liner_notes (liner_id INTEGER NOT NULL PRIMARY KEY, notes VARCHAR); |
23 | |
24 | CREATE TABLE track (trackid INTEGER NOT NULL PRIMARY KEY, cd INTEGER NOT NULL, |
25 | position INTEGER NOT NULL, title VARCHAR); |
26 | |
27 | CREATE TABLE tags (tagid INTEGER NOT NULL PRIMARY KEY, cd INTEGER NOT NULL, |
28 | tag VARCHAR); |
29 | |
30 | CREATE TABLE twokeys (artist INTEGER NOT NULL, cd INTEGER NOT NULL, |
31 | PRIMARY KEY (artist, cd) ); |
32 | |
6eec7501 |
33 | CREATE TABLE fourkeys (foo INTEGER NOT NULL, bar INTEGER NOT NULL, |
34 | hello INTEGER NOT NULL, goodbye INTEGER NOT NULL, |
35 | PRIMARY KEY (foo, bar, hello, goodbye) ); |
36 | |
510ca912 |
37 | CREATE TABLE onekey (id INTEGER NOT NULL PRIMARY KEY, |
38 | artist INTEGER NOT NULL, cd INTEGER NOT NULL ); |
39 | |
40 | INSERT INTO artist (artistid, name) VALUES (1, 'Caterwauler McCrae'); |
41 | |
42 | INSERT INTO artist (artistid, name) VALUES (2, 'Random Boy Band'); |
43 | |
44 | INSERT INTO artist (artistid, name) VALUES (3, 'We Are Goth'); |
45 | |
46 | INSERT INTO cd (cdid, artist, title, year) |
47 | VALUES (1, 1, "Spoonful of bees", 1999); |
48 | |
49 | INSERT INTO cd (cdid, artist, title, year) |
50 | VALUES (2, 1, "Forkful of bees", 2001); |
51 | |
52 | INSERT INTO cd (cdid, artist, title, year) |
53 | VALUES (3, 1, "Caterwaulin' Blues", 1997); |
54 | |
55 | INSERT INTO cd (cdid, artist, title, year) |
56 | VALUES (4, 2, "Generic Manufactured Singles", 2001); |
57 | |
58 | INSERT INTO cd (cdid, artist, title, year) |
59 | VALUES (5, 3, "Come Be Depressed With Us", 1998); |
60 | |
61 | INSERT INTO liner_notes (liner_id, notes) |
62 | VALUES (2, "Buy Whiskey!"); |
63 | |
64 | INSERT INTO liner_notes (liner_id, notes) |
65 | VALUES (4, "Buy Merch!"); |
66 | |
67 | INSERT INTO liner_notes (liner_id, notes) |
68 | VALUES (5, "Kill Yourself!"); |
69 | |
70 | INSERT INTO tags (tagid, cd, tag) VALUES (1, 1, "Blue"); |
71 | |
72 | INSERT INTO tags (tagid, cd, tag) VALUES (2, 2, "Blue"); |
73 | |
74 | INSERT INTO tags (tagid, cd, tag) VALUES (3, 3, "Blue"); |
75 | |
76 | INSERT INTO tags (tagid, cd, tag) VALUES (4, 5, "Blue"); |
77 | |
78 | INSERT INTO tags (tagid, cd, tag) VALUES (5, 2, "Cheesy"); |
79 | |
80 | INSERT INTO tags (tagid, cd, tag) VALUES (6, 4, "Cheesy"); |
81 | |
82 | INSERT INTO tags (tagid, cd, tag) VALUES (7, 5, "Cheesy"); |
83 | |
84 | INSERT INTO tags (tagid, cd, tag) VALUES (8, 2, "Shiny"); |
85 | |
86 | INSERT INTO tags (tagid, cd, tag) VALUES (9, 4, "Shiny"); |
87 | |
88 | INSERT INTO twokeys (artist, cd) VALUES (1, 1); |
89 | |
90 | INSERT INTO twokeys (artist, cd) VALUES (1, 2); |
91 | |
92 | INSERT INTO twokeys (artist, cd) VALUES (2, 2); |
93 | |
6eec7501 |
94 | INSERT INTO fourkeys (foo, bar, hello, goodbye) VALUES (1, 2, 3, 4); |
95 | |
96 | INSERT INTO fourkeys (foo, bar, hello, goodbye) VALUES (5, 4, 3, 6); |
97 | |
510ca912 |
98 | INSERT INTO onekey (id, artist, cd) VALUES (1, 1, 1); |
99 | |
100 | INSERT INTO onekey (id, artist, cd) VALUES (2, 1, 2); |
101 | |
102 | INSERT INTO onekey (id, artist, cd) VALUES (3, 2, 2); |
103 | EOSQL |
104 | |
105 | $dbh->do($_) for split(/\n\n/, $sql); |
106 | |
510ca912 |
107 | 1; |