Added initial schema for medals
This commit is contained in:
parent
480c8ed78f
commit
940d96921c
6 changed files with 198 additions and 0 deletions
|
@ -56,6 +56,20 @@ __PACKAGE__->has_many(
|
||||||
{ cascade_copy => 0, cascade_delete => 0 },
|
{ cascade_copy => 0, cascade_delete => 0 },
|
||||||
);
|
);
|
||||||
|
|
||||||
|
__PACKAGE__->has_many(
|
||||||
|
"global_user_medals",
|
||||||
|
"Pear::LocalLoop::Schema::Result::GlobalUserMedals",
|
||||||
|
{ "foreign.entity_id" => "self.id" },
|
||||||
|
{ cascade_copy => 0, cascade_delete => 0 },
|
||||||
|
);
|
||||||
|
|
||||||
|
__PACKAGE__->has_many(
|
||||||
|
"global_user_medal_progress",
|
||||||
|
"Pear::LocalLoop::Schema::Result::GlobalUserMedalProgress",
|
||||||
|
{ "foreign.entity_id" => "self.id" },
|
||||||
|
{ cascade_copy => 0, cascade_delete => 0 },
|
||||||
|
);
|
||||||
|
|
||||||
sub name {
|
sub name {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
|
|
34
lib/Pear/LocalLoop/Schema/Result/GlobalMedalGroup.pm
Normal file
34
lib/Pear/LocalLoop/Schema/Result/GlobalMedalGroup.pm
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
package Pear::LocalLoop::Schema::Result::GlobalMedalGroup;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use base 'DBIx::Class::Core';
|
||||||
|
|
||||||
|
__PACKAGE__->table("global_medal_group");
|
||||||
|
|
||||||
|
__PACKAGE__->add_columns(
|
||||||
|
"id" => {
|
||||||
|
data_type => "integer",
|
||||||
|
is_auto_increment => 1,
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
"group_name" => {
|
||||||
|
data_type => "varchar",
|
||||||
|
size => 255,
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
__PACKAGE__->set_primary_key("id");
|
||||||
|
|
||||||
|
__PACKAGE__->add_unique_constraint(["group_name"]);
|
||||||
|
|
||||||
|
__PACKAGE__->has_many(
|
||||||
|
"medals",
|
||||||
|
"Pear::LocalLoop::Schema::Result::GlobalMedals",
|
||||||
|
{ "foreign.group_id" => "self.id" },
|
||||||
|
{ cascade_copy => 0, cascade_delete => 0 },
|
||||||
|
);
|
||||||
|
|
||||||
|
1;
|
40
lib/Pear/LocalLoop/Schema/Result/GlobalMedals.pm
Normal file
40
lib/Pear/LocalLoop/Schema/Result/GlobalMedals.pm
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
package Pear::LocalLoop::Schema::Result::GlobalMedals;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use base 'DBIx::Class::Core';
|
||||||
|
|
||||||
|
__PACKAGE__->table("global_medals");
|
||||||
|
|
||||||
|
__PACKAGE__->add_columns(
|
||||||
|
"id" => {
|
||||||
|
data_type => "integer",
|
||||||
|
is_auto_increment => 1,
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
"group_id" => {
|
||||||
|
data_type => "varchar",
|
||||||
|
size => 255,
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
"threshold" => {
|
||||||
|
data_type => "integer",
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
"points" => {
|
||||||
|
data_type => "integer",
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
__PACKAGE__->set_primary_key("id");
|
||||||
|
|
||||||
|
__PACKAGE__->belongs_to(
|
||||||
|
"group",
|
||||||
|
"Pear::LocalLoop::Schema::Result::GlobalMedalGroup",
|
||||||
|
{ id => "group_id" },
|
||||||
|
{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
|
||||||
|
);
|
||||||
|
|
||||||
|
1;
|
47
lib/Pear/LocalLoop/Schema/Result/GlobalUserMedalProgress.pm
Normal file
47
lib/Pear/LocalLoop/Schema/Result/GlobalUserMedalProgress.pm
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
package Pear::LocalLoop::Schema::Result::GlobalUserMedals;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use base 'DBIx::Class::Core';
|
||||||
|
|
||||||
|
__PACKAGE__->table("global_user_medals");
|
||||||
|
|
||||||
|
__PACKAGE__->add_columns(
|
||||||
|
"id" => {
|
||||||
|
data_type => "integer",
|
||||||
|
is_auto_increment => 1,
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
"entity_id" => {
|
||||||
|
data_type => "varchar",
|
||||||
|
size => 255,
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
"group_id" => {
|
||||||
|
data_type => "varchar",
|
||||||
|
size => 255,
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
"total" => {
|
||||||
|
data_type => "integer",
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
__PACKAGE__->set_primary_key("id");
|
||||||
|
|
||||||
|
__PACKAGE__->belongs_to(
|
||||||
|
"entity",
|
||||||
|
"Pear::LocalLoop::Schema::Result::Entity",
|
||||||
|
"entity_id",
|
||||||
|
);
|
||||||
|
|
||||||
|
__PACKAGE__->belongs_to(
|
||||||
|
"group",
|
||||||
|
"Pear::LocalLoop::Schema::Result::GlobalMedalGroup",
|
||||||
|
{ id => "group_id" },
|
||||||
|
{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
|
||||||
|
);
|
||||||
|
|
||||||
|
1;
|
61
lib/Pear/LocalLoop/Schema/Result/GlobalUserMedals.pm
Normal file
61
lib/Pear/LocalLoop/Schema/Result/GlobalUserMedals.pm
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
package Pear::LocalLoop::Schema::Result::GlobalUserMedals;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use base 'DBIx::Class::Core';
|
||||||
|
|
||||||
|
__PACKAGE__->load_components(qw/
|
||||||
|
InflateColumn::DateTime
|
||||||
|
TimeStamp
|
||||||
|
/);
|
||||||
|
|
||||||
|
__PACKAGE__->table("global_user_medals");
|
||||||
|
|
||||||
|
__PACKAGE__->add_columns(
|
||||||
|
"id" => {
|
||||||
|
data_type => "integer",
|
||||||
|
is_auto_increment => 1,
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
"entity_id" => {
|
||||||
|
data_type => "varchar",
|
||||||
|
size => 255,
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
"group_id" => {
|
||||||
|
data_type => "varchar",
|
||||||
|
size => 255,
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
"points" => {
|
||||||
|
data_type => "integer",
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
"awarded_at" => {
|
||||||
|
data_type => "datetime",
|
||||||
|
is_nullable => 0,
|
||||||
|
set_on_create => 1,
|
||||||
|
},
|
||||||
|
"threshold" => {
|
||||||
|
data_type => "integer",
|
||||||
|
is_nullable => 0,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
__PACKAGE__->set_primary_key("id");
|
||||||
|
|
||||||
|
__PACKAGE__->belongs_to(
|
||||||
|
"entity",
|
||||||
|
"Pear::LocalLoop::Schema::Result::Entity",
|
||||||
|
"entity_id",
|
||||||
|
);
|
||||||
|
|
||||||
|
__PACKAGE__->belongs_to(
|
||||||
|
"group",
|
||||||
|
"Pear::LocalLoop::Schema::Result::GlobalMedalGroup",
|
||||||
|
{ id => "group_id" },
|
||||||
|
{ is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
|
||||||
|
);
|
||||||
|
|
||||||
|
1;
|
|
@ -35,3 +35,5 @@ __PACKAGE__->belongs_to(
|
||||||
"transaction_id",
|
"transaction_id",
|
||||||
{ cascade_delete => 0 },
|
{ cascade_delete => 0 },
|
||||||
);
|
);
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
Reference in a new issue