make_dbictest_db2.pm   [plain text]


package make_dbictest_db2;

use strict;
use warnings;
use DBI;

eval { require DBD::SQLite };
my $class = $@ ? 'SQLite2' : 'SQLite';

my $fn = './t/dbictest.db';

unlink($fn);
our $dsn = "dbi:$class:dbname=$fn";
my $dbh = DBI->connect($dsn);

$dbh->do($_) for (
    q|CREATE TABLE foos (
        fooid INTEGER PRIMARY KEY,
        footext TEXT
      )|,
    q|CREATE TABLE bar (
        barid INTEGER PRIMARY KEY,
        foo_id INTEGER NOT NULL REFERENCES foos (fooid)
      )|,
    q|CREATE TABLE bazs (
        bazid INTEGER PRIMARY KEY,
        baz_num INTEGER NOT NULL UNIQUE
      )|,
    q|CREATE TABLE quuxs (
        quuxid INTEGER PRIMARY KEY,
        baz_id INTEGER NOT NULL UNIQUE,
        FOREIGN KEY (baz_id) REFERENCES bazs (baz_num)
      )|,
    q|INSERT INTO foos VALUES (1,'Foos text for number 1')|,
    q|INSERT INTO foos VALUES (2,'Foos record associated with the Bar with barid 3')|,
    q|INSERT INTO foos VALUES (3,'Foos text for number 3')|,
    q|INSERT INTO foos VALUES (4,'Foos text for number 4')|,
    q|INSERT INTO bar VALUES (1,4)|,
    q|INSERT INTO bar VALUES (2,3)|,
    q|INSERT INTO bar VALUES (3,2)|,
    q|INSERT INTO bar VALUES (4,1)|,
    q|INSERT INTO bazs VALUES (1,20)|,
    q|INSERT INTO bazs VALUES (2,19)|,
    q|INSERT INTO quuxs VALUES (1,20)|,
    q|INSERT INTO quuxs VALUES (2,19)|,
);

END { unlink($fn); }

1;