From 7732df7dfe870d17976376c93414585719933000 Mon Sep 17 00:00:00 2001 From: Katrin Fischer Date: Mon, 11 Nov 2024 15:38:07 +0000 Subject: [PATCH] Bug 34355: DBIC schema update --- Koha/Schema/Result/Aqbookseller.pm | 19 +- Koha/Schema/Result/Aqbudget.pm | 19 +- Koha/Schema/Result/MarcOrderAccount.pm | 231 +++++++++++++++++++++++++ 3 files changed, 265 insertions(+), 4 deletions(-) create mode 100644 Koha/Schema/Result/MarcOrderAccount.pm diff --git a/Koha/Schema/Result/Aqbookseller.pm b/Koha/Schema/Result/Aqbookseller.pm index 8c8cd5cd08b..d005ea6ef13 100644 --- a/Koha/Schema/Result/Aqbookseller.pm +++ b/Koha/Schema/Result/Aqbookseller.pm @@ -494,6 +494,21 @@ __PACKAGE__->belongs_to( }, ); +=head2 marc_order_accounts + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "marc_order_accounts", + "Koha::Schema::Result::MarcOrderAccount", + { "foreign.vendor_id" => "self.id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + =head2 subscriptions Type: has_many @@ -525,8 +540,8 @@ __PACKAGE__->has_many( ); -# Created by DBIx::Class::Schema::Loader v0.07051 @ 2024-11-11 14:57:58 -# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+pD8f2kCNELUE8Ns/kabog +# Created by DBIx::Class::Schema::Loader v0.07051 @ 2024-11-11 15:30:10 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:c2KX3rFyF5f3ISRpCXrLVA __PACKAGE__->add_columns( '+active' => { is_boolean => 1 }, diff --git a/Koha/Schema/Result/Aqbudget.pm b/Koha/Schema/Result/Aqbudget.pm index 07612aa149a..d6fbf61f276 100644 --- a/Koha/Schema/Result/Aqbudget.pm +++ b/Koha/Schema/Result/Aqbudget.pm @@ -303,6 +303,21 @@ __PACKAGE__->belongs_to( { is_deferrable => 1, on_delete => "CASCADE", on_update => "CASCADE" }, ); +=head2 marc_order_accounts + +Type: has_many + +Related object: L + +=cut + +__PACKAGE__->has_many( + "marc_order_accounts", + "Koha::Schema::Result::MarcOrderAccount", + { "foreign.budget_id" => "self.budget_id" }, + { cascade_copy => 0, cascade_delete => 0 }, +); + =head2 suggestions Type: has_many @@ -344,8 +359,8 @@ Composing rels: L -> borrowernumber __PACKAGE__->many_to_many("borrowernumbers", "aqbudgetborrowers", "borrowernumber"); -# Created by DBIx::Class::Schema::Loader v0.07049 @ 2024-04-19 17:02:59 -# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:5solU2GxDRyXxtWgpbcGVQ +# Created by DBIx::Class::Schema::Loader v0.07051 @ 2024-11-11 15:30:10 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:qaiJdkKP05sr/Xw7Ec/nxA __PACKAGE__->belongs_to( "budget", diff --git a/Koha/Schema/Result/MarcOrderAccount.pm b/Koha/Schema/Result/MarcOrderAccount.pm new file mode 100644 index 00000000000..0595d9e3f15 --- /dev/null +++ b/Koha/Schema/Result/MarcOrderAccount.pm @@ -0,0 +1,231 @@ +use utf8; +package Koha::Schema::Result::MarcOrderAccount; + +# Created by DBIx::Class::Schema::Loader +# DO NOT MODIFY THE FIRST PART OF THIS FILE + +=head1 NAME + +Koha::Schema::Result::MarcOrderAccount + +=cut + +use strict; +use warnings; + +use base 'DBIx::Class::Core'; + +=head1 TABLE: C + +=cut + +__PACKAGE__->table("marc_order_accounts"); + +=head1 ACCESSORS + +=head2 id + + data_type: 'integer' + is_auto_increment: 1 + is_nullable: 0 + +unique identifier and primary key + +=head2 description + + data_type: 'varchar' + is_nullable: 0 + size: 250 + +description of this account + +=head2 vendor_id + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 1 + +vendor id for this account + +=head2 budget_id + + data_type: 'integer' + is_foreign_key: 1 + is_nullable: 1 + +budget id for this account + +=head2 download_directory + + data_type: 'mediumtext' + is_nullable: 1 + +download directory for this account + +=head2 matcher_id + + data_type: 'integer' + is_nullable: 1 + +the id of the match rule used (matchpoints.matcher_id) + +=head2 overlay_action + + data_type: 'varchar' + is_nullable: 1 + size: 50 + +how to handle duplicate records + +=head2 nomatch_action + + data_type: 'varchar' + is_nullable: 1 + size: 50 + +how to handle records where no match is found + +=head2 item_action + + data_type: 'varchar' + is_nullable: 1 + size: 50 + +what to do with item records + +=head2 parse_items + + data_type: 'tinyint' + is_nullable: 1 + +should items be parsed + +=head2 record_type + + data_type: 'varchar' + is_nullable: 1 + size: 50 + +type of record in the file + +=head2 encoding + + data_type: 'varchar' + is_nullable: 1 + size: 50 + +file encoding + +=head2 match_field + + data_type: 'varchar' + is_nullable: 1 + size: 10 + +the field that a vendor account has been mapped to in a marc record + +=head2 match_value + + data_type: 'varchar' + is_nullable: 1 + size: 50 + +the value to be matched against the marc record + +=cut + +__PACKAGE__->add_columns( + "id", + { data_type => "integer", is_auto_increment => 1, is_nullable => 0 }, + "description", + { data_type => "varchar", is_nullable => 0, size => 250 }, + "vendor_id", + { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, + "budget_id", + { data_type => "integer", is_foreign_key => 1, is_nullable => 1 }, + "download_directory", + { data_type => "mediumtext", is_nullable => 1 }, + "matcher_id", + { data_type => "integer", is_nullable => 1 }, + "overlay_action", + { data_type => "varchar", is_nullable => 1, size => 50 }, + "nomatch_action", + { data_type => "varchar", is_nullable => 1, size => 50 }, + "item_action", + { data_type => "varchar", is_nullable => 1, size => 50 }, + "parse_items", + { data_type => "tinyint", is_nullable => 1 }, + "record_type", + { data_type => "varchar", is_nullable => 1, size => 50 }, + "encoding", + { data_type => "varchar", is_nullable => 1, size => 50 }, + "match_field", + { data_type => "varchar", is_nullable => 1, size => 10 }, + "match_value", + { data_type => "varchar", is_nullable => 1, size => 50 }, +); + +=head1 PRIMARY KEY + +=over 4 + +=item * L + +=back + +=cut + +__PACKAGE__->set_primary_key("id"); + +=head1 RELATIONS + +=head2 budget + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "budget", + "Koha::Schema::Result::Aqbudget", + { budget_id => "budget_id" }, + { + is_deferrable => 1, + join_type => "LEFT", + on_delete => "CASCADE", + on_update => "CASCADE", + }, +); + +=head2 vendor + +Type: belongs_to + +Related object: L + +=cut + +__PACKAGE__->belongs_to( + "vendor", + "Koha::Schema::Result::Aqbookseller", + { id => "vendor_id" }, + { + is_deferrable => 1, + join_type => "LEFT", + on_delete => "CASCADE", + on_update => "CASCADE", + }, +); + + +# Created by DBIx::Class::Schema::Loader v0.07051 @ 2024-11-11 15:30:10 +# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:fbpPZlp8dGbDfmdsYTW0GQ + +__PACKAGE__->add_columns( + '+parse_items' => { is_boolean => 1 }, +); + +# You can replace this text with custom code or comments, and it will be preserved on regeneration +1; -- 2.39.5