Bug 15836: DBRev 18.06.00.060
authorNick Clemens <nick@bywatersolutions.com>
Tue, 13 Nov 2018 16:21:22 +0000 (16:21 +0000)
committerNick Clemens <nick@bywatersolutions.com>
Tue, 13 Nov 2018 16:21:22 +0000 (16:21 +0000)
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Koha.pm
Koha/Schema/Result/ClassSource.pm
Koha/Schema/Result/ClassSplitRule.pm [new file with mode: 0644]
Koha/Schema/Result/SocialData.pm
installer/data/mysql/atomicupdate/bug_15836.perl [deleted file]
installer/data/mysql/updatedatabase.pl

diff --git a/Koha.pm b/Koha.pm
index ea91c26..46ba922 100644 (file)
--- a/Koha.pm
+++ b/Koha.pm
@@ -29,7 +29,7 @@ use vars qw{ $VERSION };
 # - #4 : the developer version. The 4th number is the database subversion.
 #        used by developers when the database changes. updatedatabase take care of the changes itself
 #        and is automatically called by Auth.pm when needed.
-$VERSION = "18.06.00.059";
+$VERSION = "18.06.00.060";
 
 sub version {
     return $VERSION;
index 6c7a441..2bc8f3a 100644 (file)
@@ -49,6 +49,14 @@ __PACKAGE__->table("class_sources");
   is_nullable: 0
   size: 10
 
+=head2 class_split_rule
+
+  data_type: 'varchar'
+  default_value: (empty string)
+  is_foreign_key: 1
+  is_nullable: 0
+  size: 10
+
 =cut
 
 __PACKAGE__->add_columns(
@@ -66,6 +74,14 @@ __PACKAGE__->add_columns(
     is_nullable => 0,
     size => 10,
   },
+  "class_split_rule",
+  {
+    data_type => "varchar",
+    default_value => "",
+    is_foreign_key => 1,
+    is_nullable => 0,
+    size => 10,
+  },
 );
 
 =head1 PRIMARY KEY
@@ -97,9 +113,24 @@ __PACKAGE__->belongs_to(
   { is_deferrable => 1, on_delete => "RESTRICT", on_update => "RESTRICT" },
 );
 
+=head2 class_split_rule
+
+Type: belongs_to
+
+Related object: L<Koha::Schema::Result::ClassSplitRule>
+
+=cut
+
+__PACKAGE__->belongs_to(
+  "class_split_rule",
+  "Koha::Schema::Result::ClassSplitRule",
+  { class_split_rule => "class_split_rule" },
+  { is_deferrable => 1, on_delete => "RESTRICT", on_update => "RESTRICT" },
+);
+
 
-# Created by DBIx::Class::Schema::Loader v0.07042 @ 2018-02-16 17:54:53
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:tu9NZrk0s8VBgtc1kNpXgg
+# Created by DBIx::Class::Schema::Loader v0.07046 @ 2018-11-13 15:24:28
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:bD/Why2Bt7rmnA9cCLIPsA
 
 
 # You can replace this text with custom content, and it will be preserved on regeneration
diff --git a/Koha/Schema/Result/ClassSplitRule.pm b/Koha/Schema/Result/ClassSplitRule.pm
new file mode 100644 (file)
index 0000000..9aab8b6
--- /dev/null
@@ -0,0 +1,100 @@
+use utf8;
+package Koha::Schema::Result::ClassSplitRule;
+
+# Created by DBIx::Class::Schema::Loader
+# DO NOT MODIFY THE FIRST PART OF THIS FILE
+
+=head1 NAME
+
+Koha::Schema::Result::ClassSplitRule
+
+=cut
+
+use strict;
+use warnings;
+
+use base 'DBIx::Class::Core';
+
+=head1 TABLE: C<class_split_rules>
+
+=cut
+
+__PACKAGE__->table("class_split_rules");
+
+=head1 ACCESSORS
+
+=head2 class_split_rule
+
+  data_type: 'varchar'
+  default_value: (empty string)
+  is_nullable: 0
+  size: 10
+
+=head2 description
+
+  data_type: 'longtext'
+  is_nullable: 1
+
+=head2 split_routine
+
+  data_type: 'varchar'
+  default_value: (empty string)
+  is_nullable: 0
+  size: 30
+
+=head2 split_regex
+
+  data_type: 'varchar'
+  default_value: (empty string)
+  is_nullable: 0
+  size: 255
+
+=cut
+
+__PACKAGE__->add_columns(
+  "class_split_rule",
+  { data_type => "varchar", default_value => "", is_nullable => 0, size => 10 },
+  "description",
+  { data_type => "longtext", is_nullable => 1 },
+  "split_routine",
+  { data_type => "varchar", default_value => "", is_nullable => 0, size => 30 },
+  "split_regex",
+  { data_type => "varchar", default_value => "", is_nullable => 0, size => 255 },
+);
+
+=head1 PRIMARY KEY
+
+=over 4
+
+=item * L</class_split_rule>
+
+=back
+
+=cut
+
+__PACKAGE__->set_primary_key("class_split_rule");
+
+=head1 RELATIONS
+
+=head2 class_sources
+
+Type: has_many
+
+Related object: L<Koha::Schema::Result::ClassSource>
+
+=cut
+
+__PACKAGE__->has_many(
+  "class_sources",
+  "Koha::Schema::Result::ClassSource",
+  { "foreign.class_split_rule" => "self.class_split_rule" },
+  { cascade_copy => 0, cascade_delete => 0 },
+);
+
+
+# Created by DBIx::Class::Schema::Loader v0.07046 @ 2018-11-13 15:24:28
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:PkAwS2zW9E20B34bFWtV4g
+
+
+# You can replace this text with custom code or comments, and it will be preserved on regeneration
+1;
index b21e508..b2d835b 100644 (file)
@@ -26,7 +26,6 @@ __PACKAGE__->table("social_data");
 =head2 isbn
 
   data_type: 'varchar'
-  default_value: (empty string)
   is_nullable: 0
   size: 30
 
@@ -65,7 +64,7 @@ __PACKAGE__->table("social_data");
 
 __PACKAGE__->add_columns(
   "isbn",
-  { data_type => "varchar", default_value => "", is_nullable => 0, size => 30 },
+  { data_type => "varchar", is_nullable => 0, size => 30 },
   "num_critics",
   { data_type => "integer", is_nullable => 1 },
   "num_critics_pro",
@@ -93,8 +92,8 @@ __PACKAGE__->add_columns(
 __PACKAGE__->set_primary_key("isbn");
 
 
-# Created by DBIx::Class::Schema::Loader v0.07025 @ 2013-10-14 20:56:21
-# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Medc/ZzPVp5Eq+adFoqQoA
+# Created by DBIx::Class::Schema::Loader v0.07046 @ 2018-11-13 15:24:28
+# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:l44tYFEfIKX0xXzj6AHInQ
 
 
 # You can replace this text with custom content, and it will be preserved on regeneration
diff --git a/installer/data/mysql/atomicupdate/bug_15836.perl b/installer/data/mysql/atomicupdate/bug_15836.perl
deleted file mode 100644 (file)
index edfe012..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-$DBversion = 'XXX';
-if( CheckVersion( $DBversion ) ) {
-    unless( TableExists( 'class_split_rules' ) ) {
-        $dbh->do(q|
-            CREATE TABLE class_split_rules (
-              class_split_rule varchar(10) NOT NULL default '',
-              description LONGTEXT,
-              split_routine varchar(30) NOT NULL default '',
-              split_regex varchar(255) NOT NULL default '',
-              PRIMARY KEY (class_split_rule),
-              UNIQUE KEY class_split_rule_idx (class_split_rule)
-            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
-        |);
-
-        $dbh->do(q|
-            ALTER TABLE class_sources
-            ADD COLUMN class_split_rule varchar(10) NOT NULL default ''
-            AFTER class_sort_rule
-        |);
-        $dbh->do(q|
-            UPDATE class_sources
-            SET class_split_rule = class_sort_rule
-        |);
-
-        $dbh->do(q|
-            INSERT INTO class_split_rules(class_split_rule, description, split_routine)
-            VALUES
-            ('dewey', 'Default sorting rules for DDC', 'Dewey'),
-            ('lcc', 'Default sorting rules for LCC', 'LCC'),
-            ('generic', 'Generic call number sorting rules', 'Generic')
-        |);
-
-        $dbh->do(q|
-            ALTER TABLE class_sources
-            ADD CONSTRAINT class_source_ibfk_2 FOREIGN KEY (class_split_rule)
-            REFERENCES class_split_rules (class_split_rule)
-        |);
-    }
-
-    SetVersion( $DBversion );
-    print "Upgrade to $DBversion done (Bug 15836 - Add class_sort_rules.split_routine and split_regex)\n";
-}
index 998b003..2ec956e 100755 (executable)
@@ -17067,6 +17067,50 @@ if( CheckVersion( $DBversion ) ) {
     SetVersion( $DBversion );
     print "Upgrade to $DBversion done (Bug 20356 - Add EmailSMSSendDriverFromAddress system preference)\n";
 }
+
+$DBversion = '18.06.00.060';
+if( CheckVersion( $DBversion ) ) {
+    unless( TableExists( 'class_split_rules' ) ) {
+        $dbh->do(q|
+            CREATE TABLE class_split_rules (
+              class_split_rule varchar(10) NOT NULL default '',
+              description LONGTEXT,
+              split_routine varchar(30) NOT NULL default '',
+              split_regex varchar(255) NOT NULL default '',
+              PRIMARY KEY (class_split_rule),
+              UNIQUE KEY class_split_rule_idx (class_split_rule)
+            ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
+        |);
+
+        $dbh->do(q|
+            ALTER TABLE class_sources
+            ADD COLUMN class_split_rule varchar(10) NOT NULL default ''
+            AFTER class_sort_rule
+        |);
+        $dbh->do(q|
+            UPDATE class_sources
+            SET class_split_rule = class_sort_rule
+        |);
+
+        $dbh->do(q|
+            INSERT INTO class_split_rules(class_split_rule, description, split_routine)
+            VALUES
+            ('dewey', 'Default sorting rules for DDC', 'Dewey'),
+            ('lcc', 'Default sorting rules for LCC', 'LCC'),
+            ('generic', 'Generic call number sorting rules', 'Generic')
+        |);
+
+        $dbh->do(q|
+            ALTER TABLE class_sources
+            ADD CONSTRAINT class_source_ibfk_2 FOREIGN KEY (class_split_rule)
+            REFERENCES class_split_rules (class_split_rule)
+        |);
+    }
+
+    SetVersion( $DBversion );
+    print "Upgrade to $DBversion done (Bug 15836 - Add class_sort_rules.split_routine and split_regex)\n";
+}
+
 # SEE bug 13068
 # if there is anything in the atomicupdate, read and execute it.