First pass of importing data

This commit is contained in:
Tom Bloor 2017-10-26 16:29:56 +01:00
parent eebac70276
commit e09974f0d9
12 changed files with 2347 additions and 1 deletions

View file

@ -0,0 +1,35 @@
package Pear::LocalLoop::Schema::Result::ImportSet;
use strict;
use warnings;
use base 'DBIx::Class::Core';
__PACKAGE__->load_components( qw/
InflateColumn::DateTime
/);
__PACKAGE__->table("import_sets");
__PACKAGE__->add_columns(
"id" => {
data_type => "integer",
is_auto_increment => 1,
is_nullable => 0,
},
"date" => {
data_type => "datetime",
is_nullable => 0,
},
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->has_many(
"values",
"Pear::LocalLoop::Schema::Result::ImportValue",
{ "foreign.set_id" => "self.id" },
{ cascade_copy => 0, cascade_delete => 0 },
);
1;

View file

@ -0,0 +1,73 @@
package Pear::LocalLoop::Schema::Result::ImportValue;
use strict;
use warnings;
use base 'DBIx::Class::Core';
__PACKAGE__->load_components( qw/
InflateColumn::DateTime
/);
__PACKAGE__->table("import_values");
__PACKAGE__->add_columns(
id => {
data_type => 'integer',
is_auto_increment => 1,
is_nullable => 0,
},
set_id => {
data_type => 'integer',
is_foreign_key => 1,
is_nullable => 0,
},
user_name => {
data_type => 'varchar',
size => 255,
},
purchase_date => {
data_type => "datetime",
is_nullable => 0,
},
purchase_value => {
data_type => 'varchar',
size => 255,
},
org_name => {
data_type => 'varchar',
size => 255,
},
transaction_id => {
data_type => 'varchar',
is_foreign_key => 1,
is_nullable => 1,
},
);
__PACKAGE__->set_primary_key("id");
__PACKAGE__->belongs_to(
"import_set",
"Pear::LocalLoop::Schema::Result::ImportSet",
{ "foreign.id" => "self.set_id" },
{
is_deferrable => 0,
join_type => "LEFT",
on_delete => "NO ACTION",
on_update => "NO ACTION",
},
);
__PACKAGE__->belongs_to(
"transaction",
"Pear::LocalLoop::Schema::Result::Transaction",
{ "foreign.id" => "self.transaction_id" },
{
join_type => "LEFT",
on_delete => "NO ACTION",
on_update => "NO ACTION",
},
);
1;