ActiveRecord-Simple
view release on metacpan or search on metacpan
t/09-find.t view on Meta::CPAN
CREATE TABLE `customers` (
`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 = q{
INSERT INTO `customers` (`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'),
(6, 'Lady', 'Gaga', 666, 'gaga-o-la-la@bad.romance');
};
$dbh->do($_INIT_SQL);
$dbh->do($_DATA_SQL);
Customer->dbh($dbh);
my $finder = Customer->objects->find({ first_name => 'Bob' })->order_by('id');
isa_ok $finder, 'ActiveRecord::Simple::Find';
my @bobs = (1, 4); my $i = 0;
while (my $bob = $finder->next) {
ok $bob->id == $bobs[$i], 'next, bob.id == ' . $bobs[$i];
$i++;
}
t/10-relations.t view on Meta::CPAN
CREATE TABLE `customer` (
`id` int AUTO_INCREMENT,
`first_name` varchar(200) NULL,
`last_name` varchar(200) NOT NULL,
`age` tinyint(2) NULL,
`email` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
);
};
my $_DATA_SQL_CUSTOMER = q{
INSERT INTO `customer` (`id`, `first_name`, `last_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($_DROP_SQL_CUSTOMER);
Schema->dbh->do($_INIT_SQL_CUSTOMER);
Schema->dbh->do($_DATA_SQL_CUSTOMER);
my $_DROP_SQL_PURCHASE = q{
DROP TABLE IF EXISTS purchase;
};
my $_INIT_SQL_PURCHASE = q{
CREATE TABLE `purchase` (
`id` int AUTO_INCREMENT,
`title` varchar(200) NOT NULL,
`amount` decimal(10,2) NOT NULL DEFAULT 0.0,
`customer_id` int NOT NULL references `customer` (`id`),
PRIMARY KEY (`id`)
);
};
my $_DATA_SQL_PURCHASE = q{
INSERT INTO `purchase` (`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($_DROP_SQL_PURCHASE);
Schema->dbh->do($_INIT_SQL_PURCHASE);
Schema->dbh->do($_DATA_SQL_PURCHASE);
my $_DROP_SQL_ACHIEVEMENT = q{
DROP TABLE IF EXISTS achievement;
};
my $_INIT_SQL_ACHIEVEMENT = q{
CREATE TABLE `achievement` (
`id` int AUTO_INCREMENT,
`title` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
);
};
my $_DATA_SQL_ACHEIVEMENT = q{
INSERT INTO `achievement` (`id`, `title`)
VALUES
(1, 'Bronze'),
(2, 'Silver'),
(3, 'Gold');
};
Schema->dbh->do($_DROP_SQL_ACHIEVEMENT);
Schema->dbh->do($_INIT_SQL_ACHIEVEMENT);
Schema->dbh->do($_DATA_SQL_ACHEIVEMENT);
my $_DROP_SQL_CA = q{
DROP TABLE IF EXISTS customer_achievement;
};
my $_INIT_SQL_CA = q{
CREATE TABLE `customer_achievement` (
`customer_id` int NOT NULL references customer (id),
`achievement_id` int NOT NULL references achievement (id)
);
};
my $_DATA_SQL_CA = q{
INSERT INTO `customer_achievement` (`customer_id`, `achievement_id`)
VALUES
(1, 1),
(1, 2),
(2, 1),
(2, 3),
(3, 1),
(3, 2),
(3, 3);
};
Schema->dbh->do($_DROP_SQL_CA);
Schema->dbh->do($_INIT_SQL_CA);
Schema->dbh->do($_DATA_SQL_CA);
}
package Purchase;
our @ISA = qw/Schema/;
__PACKAGE__->table_name('purchase');
t/11-crud-methods.t view on Meta::CPAN
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');
};
$dbh->do($_INIT_SQL_CUSTOMERS);
$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 `customer` (`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);
};
$dbh->do($_INIT_SQL_ORDERS);
$dbh->do($_DATA_SQL_ORDERS);
my $_INIT_SQL_ACHIEVEMENTS = q{
CREATE TABLE `achievement` (
`id` int AUTO_INCREMENT,
`title` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
);
};
my $_DATA_SQL_ACHEIVEMENTS = q{
INSERT INTO `achievement` (`id`, `title`)
VALUES
(1, 'Bronze'),
(2, 'Silver'),
(3, 'Gold');
};
$dbh->do($_INIT_SQL_ACHIEVEMENTS);
$dbh->do($_DATA_SQL_ACHEIVEMENTS);
my $_INIT_SQL_CA = q{
CREATE TABLE `customer_achievement` (
`customer_id` int NOT NULL references customer (id),
`achievement_id` int NOT NULL references achievement (id)
);
};
my $_DATA_SQL_CA = q{
INSERT INTO `customer_achievement` (`customer_id`, `achievement_id`)
VALUES
(1, 1),
(1, 2),
(2, 1),
(2, 3),
(3, 1),
(3, 2),
(3, 3);
};
$dbh->do($_INIT_SQL_CA);
$dbh->do($_DATA_SQL_CA);
Customer->dbh($dbh);
ok my $Bill = Customer->objects->get(3), 'got Bill';
ok my $achievement = Achievement->new({ title => 'Bill Achievement', id => 4 })->save, 'create achievement';
is $Bill->id, 3;
is $achievement->id, 4;
t/13-init.t view on Meta::CPAN
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);
my $_INIT_SQL_ACHIEVEMENTS = q{
CREATE TABLE `achievement` (
`id` int AUTO_INCREMENT,
`title` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
);
};
my $_DATA_SQL_ACHEIVEMENTS = q{
INSERT INTO `achievement` (`id`, `title`)
VALUES
(1, 'Bronze'),
(2, 'Silver'),
(3, 'Gold');
};
Schema->dbh->do($_INIT_SQL_ACHIEVEMENTS);
Schema->dbh->do($_DATA_SQL_ACHEIVEMENTS);
my $_INIT_SQL_CA = q{
CREATE TABLE `customer_achievement` (
`customer_id` int NOT NULL references customers (id),
`achievement_id` int NOT NULL references achievements (id)
);
};
my $_DATA_SQL_CA = q{
INSERT INTO `customer_achievement` (`customer_id`, `achievement_id`)
VALUES
(1, 1),
(1, 2),
(2, 1),
(2, 3),
(3, 1),
(3, 2),
(3, 3);
};
Schema->dbh->do($_INIT_SQL_CA);
Schema->dbh->do($_DATA_SQL_CA);
}
package Customer;
#use parent 'Schema';
our @ISA = qw/Schema/;
__PACKAGE__->auto_load();
t/14-smart-accessors.t view on Meta::CPAN
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);
my $_INIT_SQL_ACHIEVEMENTS = q{
CREATE TABLE `achievement` (
`id` int AUTO_INCREMENT,
`title` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
);
};
my $_DATA_SQL_ACHEIVEMENTS = q{
INSERT INTO `achievement` (`id`, `title`)
VALUES
(1, 'Bronze'),
(2, 'Silver'),
(3, 'Gold');
};
Schema->dbh->do($_INIT_SQL_ACHIEVEMENTS);
Schema->dbh->do($_DATA_SQL_ACHEIVEMENTS);
my $_INIT_SQL_CA = q{
CREATE TABLE `customer_achievement` (
`customer_id` int NOT NULL references customers (id),
`achievement_id` int NOT NULL references achievements (id)
);
};
my $_DATA_SQL_CA = q{
INSERT INTO `customer_achievement` (`customer_id`, `achievement_id`)
VALUES
(1, 1),
(1, 2),
(2, 1),
(2, 3),
(3, 1),
(3, 2),
(3, 3);
};
Schema->dbh->do($_INIT_SQL_CA);
Schema->dbh->do($_DATA_SQL_CA);
}
package Customer;
#use parent 'Schema';
our @ISA = qw/Schema/;
__PACKAGE__->auto_load();
__PACKAGE__->has_many(orders => 'Order');
t/15-sql-row.t view on Meta::CPAN
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);
my $_INIT_SQL_ACHIEVEMENTS = q{
CREATE TABLE `achievement` (
`id` int AUTO_INCREMENT,
`title` varchar(30) NOT NULL,
PRIMARY KEY (`id`)
);
};
my $_DATA_SQL_ACHEIVEMENTS = q{
INSERT INTO `achievement` (`id`, `title`)
VALUES
(1, 'Bronze'),
(2, 'Silver'),
(3, 'Gold');
};
Schema->dbh->do($_INIT_SQL_ACHIEVEMENTS);
Schema->dbh->do($_DATA_SQL_ACHEIVEMENTS);
my $_INIT_SQL_CA = q{
CREATE TABLE `customer_achievement` (
`customer_id` int NOT NULL references customers (id),
`achievement_id` int NOT NULL references achievements (id)
);
};
my $_DATA_SQL_CA = q{
INSERT INTO `customer_achievement` (`customer_id`, `achievement_id`)
VALUES
(1, 1),
(1, 2),
(2, 1),
(2, 3),
(3, 1),
(3, 2),
(3, 3);
};
Schema->dbh->do($_INIT_SQL_CA);
Schema->dbh->do($_DATA_SQL_CA);
}
package Customer;
#use parent 'Schema';
our @ISA = qw/Schema/;
__PACKAGE__->auto_load();
( run in 0.572 second using v1.01-cache-2.11-cpan-140bd7fdf52 )