5 my $db_file = "t/var/DBIxClass.db";
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";
11 my $dsn = "dbi:SQLite:${db_file}";
13 my $schema = DBICTest::Schema->compose_connection('DBICTest' => $dsn);
15 my $dbh = DBI->connect($dsn);
19 INSERT INTO artist (artistid, name) VALUES (1, 'Caterwauler McCrae');
21 INSERT INTO artist (artistid, name) VALUES (2, 'Random Boy Band');
23 INSERT INTO artist (artistid, name) VALUES (3, 'We Are Goth');
25 INSERT INTO cd (cdid, artist, title, year)
26 VALUES (1, 1, "Spoonful of bees", 1999);
28 INSERT INTO cd (cdid, artist, title, year)
29 VALUES (2, 1, "Forkful of bees", 2001);
31 INSERT INTO cd (cdid, artist, title, year)
32 VALUES (3, 1, "Caterwaulin' Blues", 1997);
34 INSERT INTO cd (cdid, artist, title, year)
35 VALUES (4, 2, "Generic Manufactured Singles", 2001);
37 INSERT INTO cd (cdid, artist, title, year)
38 VALUES (5, 3, "Come Be Depressed With Us", 1998);
40 INSERT INTO liner_notes (liner_id, notes)
41 VALUES (2, "Buy Whiskey!");
43 INSERT INTO liner_notes (liner_id, notes)
44 VALUES (4, "Buy Merch!");
46 INSERT INTO liner_notes (liner_id, notes)
47 VALUES (5, "Kill Yourself!");
49 INSERT INTO tags (tagid, cd, tag) VALUES (1, 1, "Blue");
51 INSERT INTO tags (tagid, cd, tag) VALUES (2, 2, "Blue");
53 INSERT INTO tags (tagid, cd, tag) VALUES (3, 3, "Blue");
55 INSERT INTO tags (tagid, cd, tag) VALUES (4, 5, "Blue");
57 INSERT INTO tags (tagid, cd, tag) VALUES (5, 2, "Cheesy");
59 INSERT INTO tags (tagid, cd, tag) VALUES (6, 4, "Cheesy");
61 INSERT INTO tags (tagid, cd, tag) VALUES (7, 5, "Cheesy");
63 INSERT INTO tags (tagid, cd, tag) VALUES (8, 2, "Shiny");
65 INSERT INTO tags (tagid, cd, tag) VALUES (9, 4, "Shiny");
67 INSERT INTO twokeys (artist, cd) VALUES (1, 1);
69 INSERT INTO twokeys (artist, cd) VALUES (1, 2);
71 INSERT INTO twokeys (artist, cd) VALUES (2, 2);
73 INSERT INTO fourkeys (foo, bar, hello, goodbye) VALUES (1, 2, 3, 4);
75 INSERT INTO fourkeys (foo, bar, hello, goodbye) VALUES (5, 4, 3, 6);
77 INSERT INTO onekey (id, artist, cd) VALUES (1, 1, 1);
79 INSERT INTO onekey (id, artist, cd) VALUES (2, 1, 2);
81 INSERT INTO onekey (id, artist, cd) VALUES (3, 2, 2);
83 INSERT INTO self_ref (id, name) VALUES (1, 'First');
85 INSERT INTO self_ref (id, name) VALUES (2, 'Second');
87 INSERT INTO self_ref_alias (self_ref, alias) VALUES (1, 2);
89 INSERT INTO artist_undirected_map (id1, id2) VALUES (1, 2);
91 INSERT INTO producer (producerid, name) VALUES (1, 'Matt S Trout');
93 INSERT INTO cd_to_producer (cd, producer) VALUES (1, 1);
97 open IN, "t/lib/sqlite.sql";
99 { local $/ = undef; $sql = <IN>.$sql; }
103 $dbh->do($_) for split(/\n\n/, $sql);
105 $schema->storage->dbh->do("PRAGMA synchronous = OFF");
111 CREATE TABLE artist (artistid INTEGER NOT NULL PRIMARY KEY, name VARCHAR);
113 CREATE TABLE cd (cdid INTEGER NOT NULL PRIMARY KEY, artist INTEGER NOT NULL,
114 title VARCHAR, year VARCHAR);
116 CREATE TABLE liner_notes (liner_id INTEGER NOT NULL PRIMARY KEY, notes VARCHAR);
118 CREATE TABLE track (trackid INTEGER NOT NULL PRIMARY KEY, cd INTEGER NOT NULL,
119 position INTEGER NOT NULL, title VARCHAR);
121 CREATE TABLE tags (tagid INTEGER NOT NULL PRIMARY KEY, cd INTEGER NOT NULL,
124 CREATE TABLE twokeys (artist INTEGER NOT NULL, cd INTEGER NOT NULL,
125 PRIMARY KEY (artist, cd) );
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) );
131 CREATE TABLE onekey (id INTEGER NOT NULL PRIMARY KEY,
132 artist INTEGER NOT NULL, cd INTEGER NOT NULL );
134 CREATE TABLE self_ref (id INTEGER NOT NULL PRIMARY KEY,
137 CREATE TABLE self_ref_alias (self_ref INTEGER NOT NULL, alias INTEGER NOT NULL,
138 PRIMARY KEY( self_ref, alias ) );
140 CREATE TABLE artist_undirected_map (id1 INTEGER NOT NULL, id2 INTEGER NOT NULL, PRIMARY KEY(id1, id2));
142 CREATE TABLE producer (producerid INTEGER NOT NULL PRIMARY KEY, name VARCHAR);
144 CREATE TABLE cd_to_producer (cd INTEGER NOT NULL, producer INTEGER NOT NULL);