Added transaction categories tables
This commit is contained in:
parent
7ea96a74d0
commit
c2a099c3e2
3 changed files with 80 additions and 0 deletions
40
lib/Pear/LocalLoop/Schema/Result/Category.pm
Normal file
40
lib/Pear/LocalLoop/Schema/Result/Category.pm
Normal file
|
@ -0,0 +1,40 @@
|
|||
package Pear::LocalLoop::Schema::Result::Category;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use base 'DBIx::Class::Core';
|
||||
|
||||
__PACKAGE__->table("category");
|
||||
|
||||
__PACKAGE__->add_columns(
|
||||
"id" => {
|
||||
data_type => "integer",
|
||||
is_auto_increment => 1,
|
||||
is_nullable => 0,
|
||||
},
|
||||
"name" => {
|
||||
data_type => "varchar",
|
||||
size => 255,
|
||||
is_nullable => 0,
|
||||
},
|
||||
);
|
||||
|
||||
__PACKAGE__->set_primary_key("id");
|
||||
|
||||
__PACKAGE__->add_unique_constraint(["name"]);
|
||||
|
||||
__PACKAGE__->has_many(
|
||||
"transaction_category",
|
||||
"Pear::LocalLoop::Schema::Result::TransactionCategory",
|
||||
{ "foreign.category_id" => "self.id" },
|
||||
{ cascade_copy => 0, cascade_delete => 0 },
|
||||
);
|
||||
|
||||
__PACKAGE__->many_to_many(
|
||||
"transactions",
|
||||
"transaction_category",
|
||||
"transaction",
|
||||
);
|
||||
|
||||
1;
|
|
@ -71,4 +71,9 @@ __PACKAGE__->belongs_to(
|
|||
{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
|
||||
);
|
||||
|
||||
__PACKAGE__->might_have(
|
||||
"category",
|
||||
"Pear::LocalLoop::Schema::Result::TransactionCategory" => "transaction_id",
|
||||
);
|
||||
|
||||
1;
|
||||
|
|
35
lib/Pear/LocalLoop/Schema/Result/TransactionCategory.pm
Normal file
35
lib/Pear/LocalLoop/Schema/Result/TransactionCategory.pm
Normal file
|
@ -0,0 +1,35 @@
|
|||
package Pear::LocalLoop::Schema::Result::TransactionCategory;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use base 'DBIx::Class::Core';
|
||||
|
||||
__PACKAGE__->table("transaction_category");
|
||||
|
||||
__PACKAGE__->add_columns(
|
||||
"category_id" => {
|
||||
data_type => "integer",
|
||||
is_nullable => 0,
|
||||
is_foreign_key => 1,
|
||||
},
|
||||
"transaction_id" => {
|
||||
data_type => 'integer',
|
||||
is_nullable => 0,
|
||||
is_foreign_key => 1,
|
||||
},
|
||||
);
|
||||
|
||||
__PACKAGE__->add_unique_constraint(["transaction_id"]);
|
||||
|
||||
__PACKAGE__->belongs_to(
|
||||
"category",
|
||||
"Pear::LocalLoop::Schema::Result::Category",
|
||||
"category_id",
|
||||
);
|
||||
|
||||
__PACKAGE__->belongs_to(
|
||||
"transaction",
|
||||
"Pear::LocalLoop::Schema::Result::Transaction",
|
||||
"transaction_id",
|
||||
);
|
Reference in a new issue