add self to credits
[dbsrgits/DBIx-Class-Schema-Loader.git] / t / lib / make_dbictest_db_clashing_monikers.pm
1 package make_dbictest_db_clashing_monikers;
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_clashing_tables.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 # this will cause a singularized moniker clash
29     q|CREATE TABLE bars (
30         barid INTEGER PRIMARY KEY,
31         fooref INTEGER REFERENCES foo(fooid)
32       )|,
33     q|INSERT INTO foo (fooid, footext) VALUES (1,'Foo text for number 1')|,
34     q|INSERT INTO foo (fooid, footext) VALUES (2,'Foo record associated with the Bar with barid 3')|,
35     q|INSERT INTO foo (fooid, footext) VALUES (3,'Foo text for number 3')|,
36     q|INSERT INTO foo (fooid, footext) VALUES (4,'Foo text for number 4')|,
37     q|INSERT INTO bar VALUES (1,4)|,
38     q|INSERT INTO bar VALUES (2,3)|,
39     q|INSERT INTO bar VALUES (3,2)|,
40     q|INSERT INTO bar VALUES (4,1)|,
41 );
42
43 END { unlink($fn) unless $ENV{SCHEMA_LOADER_TESTS_NOCLEANUP}; }
44
45 1;