Added transaction categories tables

This commit is contained in:
Finn 2018-01-11 14:00:20 +00:00
parent 7ea96a74d0
commit c2a099c3e2
3 changed files with 80 additions and 0 deletions

View 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;

View file

@ -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;

View 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",
);