ActiveRecord-Simple
view release on metacpan or search on metacpan
t/13-init.t view on Meta::CPAN
#!/usr/bin/perl
use strict;
use warnings;
use 5.010;
use Test::More;
use FindBin '$Bin';
use lib "$Bin/../lib";
BEGIN {
package Schema;
use parent 'ActiveRecord::Simple';
eval { require DBD::SQLite } or exit 0;
__PACKAGE__->connect("dbi:SQLite:dbname=:memory:","","");
my $_INIT_SQL_CUSTOMERS = q{
CREATE TABLE `customer` (
`id` int AUTO_INCREMENT,
`first_name` varchar(200) NULL,
`second_name` varchar(200) NOT NULL,
`age` tinyint(2) NULL,
`email` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
);
};
my $_DATA_SQL_CUSTOMERS = q{
INSERT INTO `customer` (`id`, `first_name`, `second_name`, `age`, `email`)
VALUES
(1,'Bob','Dylan',NULL,'bob.dylan@aol.com'),
(2,'John','Doe',77,'john@doe.com'),
(3,'Bill','Clinton',50,'mynameisbill@gmail.com'),
(4,'Bob','Marley',NULL,'bob.marley@forever.com'),
(5,'','',NULL,'foo.bar@bazz.com');
};
Schema->dbh->do($_INIT_SQL_CUSTOMERS);
Schema->dbh->do($_DATA_SQL_CUSTOMERS);
my $_INIT_SQL_ORDERS = q{
CREATE TABLE `order` (
`id` int AUTO_INCREMENT,
`title` varchar(200) NOT NULL,
`amount` decimal(10,2) NOT NULL DEFAULT 0.0,
`customer_id` int NOT NULL references `customers` (`id`),
PRIMARY KEY (`id`)
);
};
my $_DATA_SQL_ORDERS = q{
INSERT INTO `order` (`id`, `title`, `amount`, `customer_id`)
VALUES
(1, 'The Order #1', 10, 1),
(2, 'The Order #2', 5.66, 2),
(3, 'The Order #3', 6.43, 3),
(4, 'The Order #4', 2.20, 1),
(5, 'The Order #5', 3.39, 4);
};
Schema->dbh->do($_INIT_SQL_ORDERS);
Schema->dbh->do($_DATA_SQL_ORDERS);
( run in 1.134 second using v1.01-cache-2.11-cpan-39bf76dae61 )