Tests for adjacency list as well as a bunch of fixes.
[dbsrgits/DBIx-Class-Tree.git] / t / lib / TreeTest / Schema.pm
1 package TreeTest::Schema;
2 use strict;
3 use warnings;
4
5 use base qw( DBIx::Class::Schema );
6
7 __PACKAGE__->load_classes();
8
9 sub connect {
10     my $self = shift;
11
12     my $db_file = 't/var/test.db';
13
14     unlink($db_file) if -e $db_file;
15     unlink($db_file . '-journal') if -e $db_file . '-journal';
16     mkdir("t/var") unless -d "t/var";
17
18     my $dsn = "dbi:SQLite:$db_file";
19     my $schema = $self->next::method( $dsn );
20
21     $schema->storage->on_connect_do([ "PRAGMA synchronous = OFF" ]);
22
23         my $dbh = $schema->storage->dbh;
24         open SQL, "t/lib/sqlite.sql";
25             my $sql;
26             { local $/ = undef; $sql = <SQL>; }
27         close SQL;
28         $dbh->do($_) for split(/\n\n/, $sql);
29
30     $schema->storage->dbh->do("PRAGMA synchronous = OFF");
31
32     return $schema;
33 }
34
35 1;