From 960b295fbbc3cbb25f3da702256a973b01459e08 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 2 Jun 2022 16:19:26 +0000 Subject: [PATCH] Bug 24857: Add new Schema files --- Koha/Schema/Result/ItemGroup.pm | 156 ++++++++++++++++++++++++++++ Koha/Schema/Result/ItemGroupItem.pm | 137 ++++++++++++++++++++++++ 2 files changed, 293 insertions(+) create mode 100644 Koha/Schema/Result/ItemGroup.pm create mode 100644 Koha/Schema/Result/ItemGroupItem.pm diff --git a/Koha/Schema/Result/ItemGroup.pm b/Koha/Schema/Result/ItemGroup.pm new file mode 100644 index 0000000000..88ffe3c016 --- /dev/null +++ b/Koha/Schema/Result/ItemGroup.pm @@ -0,0 +1,156 @@ +use utf8; +package Koha::Schema::Result::ItemGroup; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +Koha::Schema::Result::ItemGroup + +=cut + +use strict; +use warnings; + +use base 'DBIx::Class::Core'; + +=head1 TABLE: C + +=cut + +__PACKAGE__->table("item_groups"); + +=head1 ACCESSORS + +=head2 item_group_id + + data_type: 'integer' + is_auto_increment: 1 + is_nullable: 0 + +id for the items group + +=head2 biblio_id + + data_type: 'integer' + default_value: 0 + is_foreign_key: 1 + is_nullable: 0 + +id for the bibliographic record the group belongs to + +=head2 display_order + + data_type: 'integer' + default_value: 0 + is_nullable: 0 + +The 'sort order' for item_groups + +=head2 description + + data_type: 'mediumtext' + is_nullable: 1 + +A group description + +=head2 created_on + + data_type: 'timestamp' + datetime_undef_if_invalid: 1 + is_nullable: 1 + +Time and date the group was created + +=head2 updated_on + + data_type: 'timestamp' + datetime_undef_if_invalid: 1 + default_value: current_timestamp + is_nullable: 0 + +Time and date of the latest change on the group + +=cut + +__PACKAGE__->add_columns( + "item_group_id", + { data_type => "integer", is_auto_increment => 1, is_nullable => 0 }, + "biblio_id", + { + data_type => "integer", + default_value => 0, + is_foreign_key => 1, + is_nullable => 0, + }, + "display_order", + { data_type => "integer", default_value => 0, is_nullable => 0 }, + "description", + { data_type => "mediumtext", is_nullable => 1 }, + "created_on", + { + data_type => "timestamp", + datetime_undef_if_invalid => 1, + is_nullable => 1, + }, + "updated_on", + { + data_type => "timestamp", + datetime_undef_if_invalid => 1, + default_value => \"current_timestamp", + is_nullable => 0, + }, +); + +=head1 PRIMARY KEY + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->set_primary_key("item_group_id"); + +=head1 RELATIONS + +=head2 biblio + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "biblio", + "Koha::Schema::Result::Biblio", + { biblionumber => "biblio_id" }, + { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, +); + +=head2 item_group_items + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "item_group_items", + "Koha::Schema::Result::ItemGroupItem", + { "foreign.item_group_id" => "self.item_group_id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + + +# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-06-02 16:18:20 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:YO7VdfzHDqBjGHt7vQX7gw + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; diff --git a/Koha/Schema/Result/ItemGroupItem.pm b/Koha/Schema/Result/ItemGroupItem.pm new file mode 100644 index 0000000000..057c5fe7cb --- /dev/null +++ b/Koha/Schema/Result/ItemGroupItem.pm @@ -0,0 +1,137 @@ +use utf8; +package Koha::Schema::Result::ItemGroupItem; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +Koha::Schema::Result::ItemGroupItem + +=cut + +use strict; +use warnings; + +use base 'DBIx::Class::Core'; + +=head1 TABLE: C + +=cut + +__PACKAGE__->table("item_group_items"); + +=head1 ACCESSORS + +=head2 item_group_items_id + + data_type: 'integer' + is_auto_increment: 1 + is_nullable: 0 + +id for the group/item link + +=head2 item_group_id + + data_type: 'integer' + default_value: 0 + is_foreign_key: 1 + is_nullable: 0 + +foreign key making this table a 1 to 1 join from items to item groups + +=head2 item_id + + data_type: 'integer' + default_value: 0 + is_foreign_key: 1 + is_nullable: 0 + +foreign key linking this table to the items table + +=cut + +__PACKAGE__->add_columns( + "item_group_items_id", + { data_type => "integer", is_auto_increment => 1, is_nullable => 0 }, + "item_group_id", + { + data_type => "integer", + default_value => 0, + is_foreign_key => 1, + is_nullable => 0, + }, + "item_id", + { + data_type => "integer", + default_value => 0, + is_foreign_key => 1, + is_nullable => 0, + }, +); + +=head1 PRIMARY KEY + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->set_primary_key("item_group_items_id"); + +=head1 UNIQUE CONSTRAINTS + +=head2 C + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->add_unique_constraint("item_id", ["item_id"]); + +=head1 RELATIONS + +=head2 item + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "item", + "Koha::Schema::Result::Item", + { itemnumber => "item_id" }, + { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, +); + +=head2 item_group + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "item_group", + "Koha::Schema::Result::ItemGroup", + { item_group_id => "item_group_id" }, + { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, +); + + +# Created by DBIx::Class::Schema::Loader v0.07049 @ 2022-06-02 16:18:20 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:FLtrDLTHqXdzqyOmVvaXJQ + + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; -- 2.30.2