sort unique constraints
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / lib / make_dbictest_db.pm
1 package make_dbictest_db;
2
3 use strict;
4 use warnings;
5 use DBI;
6 use dbixcsl_test_dir qw/$tdir/;
7
8 eval { require DBD::SQLite };
9 my $class = $@ ? 'SQLite2' : 'SQLite';
10
11 my $fn = "$tdir/dbictest.db";
12
13 unlink($fn);
14 our $dsn = "dbi:$class:dbname=$fn";
15 my $dbh = DBI->connect($dsn);
16 $dbh->do('PRAGMA SYNCHRONOUS = OFF');
17
18 $dbh->do($_) for (
19     q|CREATE TABLE foo (
20         fooid INTEGER PRIMARY KEY,
21         footext TEXT DEFAULT 'footext',
22         foodt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
23       )|,
24     q|CREATE TABLE bar (
25         barid INTEGER PRIMARY KEY,
26         fooref INTEGER REFERENCES foo(fooid)
27       )|,
28     q|INSERT INTO foo (fooid, footext) VALUES (1,'Foo text for number 1')|,
29     q|INSERT INTO foo (fooid, footext) VALUES (2,'Foo record associated with the Bar with barid 3')|,
30     q|INSERT INTO foo (fooid, footext) VALUES (3,'Foo text for number 3')|,
31     q|INSERT INTO foo (fooid, footext) VALUES (4,'Foo text for number 4')|,
32     q|INSERT INTO bar VALUES (1,4)|,
33     q|INSERT INTO bar VALUES (2,3)|,
34     q|INSERT INTO bar VALUES (3,2)|,
35     q|INSERT INTO bar VALUES (4,1)|,
36 );
37
38 END { unlink($fn) unless $ENV{SCHEMA_LOADER_TESTS_NOCLEANUP}; }
39
40 1;