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