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" },
|
{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
|
||||||
);
|
);
|
||||||
|
|
||||||
|
__PACKAGE__->might_have(
|
||||||
|
"category",
|
||||||
|
"Pear::LocalLoop::Schema::Result::TransactionCategory" => "transaction_id",
|
||||||
|
);
|
||||||
|
|
||||||
1;
|
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