Now throws exceptions when id_field is invalid or can not be determined
[catagits/Catalyst-Authentication-Store-DBIx-Class.git] / t / lib / SetupDB.pm
1 # create the database
2 my $db_file = $ENV{TESTAPP_DB_FILE};
3 unlink $db_file if -e $db_file;
4
5 my $dbh = DBI->connect( "dbi:SQLite:$db_file" ) or die $DBI::errstr;
6 my $sql = q{
7     CREATE TABLE user (
8         id       INTEGER PRIMARY KEY,
9         username TEXT,
10         email    TEXT,
11         password TEXT,
12         status   TEXT,
13         role_text TEXT,
14         session_data TEXT
15     );
16     CREATE TABLE role (
17         id   INTEGER PRIMARY KEY,
18         role TEXT
19     );
20     CREATE TABLE user_role (
21         id   INTEGER PRIMARY KEY,
22         user INTEGER,
23         roleid INTEGER
24     );
25
26     INSERT INTO user VALUES (1, 'joeuser', 'joeuser@nowhere.com', 'hackme', 'active', 'admin', NULL);
27     INSERT INTO user VALUES (2, 'spammer', 'bob@spamhaus.com', 'broken', 'disabled', NULL, NULL);
28     INSERT INTO user VALUES (3, 'jayk', 'j@cpants.org', 'letmein', 'active', NULL, NULL);
29     INSERT INTO user VALUES (4, 'nuffin', 'nada@mucho.net', 'much', 'registered', 'user admin', NULL);
30     INSERT INTO role VALUES (1, 'admin');
31     INSERT INTO role VALUES (2, 'user');
32     INSERT INTO user_role VALUES (1, 3, 1);
33     INSERT INTO user_role VALUES (2, 3, 2);
34     INSERT INTO user_role VALUES (3, 4, 2)
35 };
36 $dbh->do( $_ ) for split /;/, $sql;
37 $dbh->disconnect;