@@ -, +, @@ --- .../bug_20581-add_new_illrequests_status_alias_column.perl | 8 ++++++-- installer/data/mysql/en/optional/ill_auth_cat.sql | 1 - installer/data/mysql/en/optional/ill_auth_cat.txt | 1 - installer/data/mysql/kohastructure.sql | 2 +- installer/data/mysql/mandatory/auth_val_cat.sql | 4 ++++ 5 files changed, 11 insertions(+), 5 deletions(-) delete mode 100644 installer/data/mysql/en/optional/ill_auth_cat.sql delete mode 100644 installer/data/mysql/en/optional/ill_auth_cat.txt --- a/installer/data/mysql/atomicupdate/bug_20581-add_new_illrequests_status_alias_column.perl +++ a/installer/data/mysql/atomicupdate/bug_20581-add_new_illrequests_status_alias_column.perl @@ -1,8 +1,12 @@ $DBversion = 'XXX'; # will be replaced by the RM if( CheckVersion( $DBversion ) ) { - $dbh->do( "ALTER TABLE illrequests ADD COLUMN status_alias integer DEFAULT NULL" ); - $dbh->do( "ALTER TABLE illrequests ADD CONSTRAINT illrequests_safk FOREIGN KEY (status_alias) REFERENCES authorised_values(id) ON DELETE SET NULL" ); + if ( !column_exists( 'illrequests', 'status_alias' ) ) { + $dbh->do( "ALTER TABLE illrequests ADD COLUMN status_alias integer DEFAULT NULL AFTER status" ); + } + if ( !foreign_key_exists( 'illrequests', 'illrequests_safk' ) ) { + $dbh->do( "ALTER TABLE illrequests ADD CONSTRAINT illrequests_safk FOREIGN KEY (status_alias) REFERENCES authorised_values(id) ON UPDATE CASCADE ON DELETE SET NULL" ); + } $dbh->do( "INSERT IGNORE INTO authorised_value_categories SET category_name = 'ILLSTATUS'"); SetVersion( $DBversion ); --- a/installer/data/mysql/en/optional/ill_auth_cat.sql +++ a/installer/data/mysql/en/optional/ill_auth_cat.sql @@ -1, +0,0 @@ -INSERT IGNORE INTO authorised_value_categories (category_name) VALUES ('ILLSTATUS'); --- a/installer/data/mysql/en/optional/ill_auth_cat.txt +++ a/installer/data/mysql/en/optional/ill_auth_cat.txt @@ -1, +0,0 @@ -Default ILL request status authorised value category name --- a/installer/data/mysql/kohastructure.sql +++ a/installer/data/mysql/kohastructure.sql @@ -4174,7 +4174,7 @@ CREATE TABLE illrequests ( CONSTRAINT `illrequests_safk` FOREIGN KEY (`status_alias`) REFERENCES `authorised_values` (`id`) - ON DELETE SET NULL + ON UPDATE CASCADE ON DELETE SET NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- --- a/installer/data/mysql/mandatory/auth_val_cat.sql +++ a/installer/data/mysql/mandatory/auth_val_cat.sql @@ -57,3 +57,7 @@ INSERT IGNORE INTO authorised_value_categories( category_name ) VALUES -- For Housebound INSERT IGNORE INTO authorised_value_categories( category_name ) VALUES ('HSBND_FREQ'); + +-- For Interlibrary loans +INSERT IGNORE INTO authorised_value_categories( category_name ) VALUES + ('ILLSTATUS'); --