View | Details | Raw Unified | Return to bug 15516
Collapse All | Expand All

(-)a/installer/data/mysql/atomicupdate/bug_15516_-_hold_group_table.perl (-8 / +27 lines)
Lines 1-14 Link Here
1
$DBversion = 'XXX';
1
$DBversion = 'XXX';
2
if( CheckVersion( $DBversion ) ) {
2
if( CheckVersion( $DBversion ) ) {
3
    $dbh->do(q{DROP TABLE IF EXISTS hold_group});
3
4
    $dbh->do(q{CREATE TABLE hold_group (
4
    if( TableExists( 'hold_group' ) ){
5
        hold_group_id int unsigned NOT NULL AUTO_INCREMENT,
5
        $dbh->do(q{UPDATE reserves SET hold_group_id = NULL});
6
        PRIMARY KEY (hold_group_id)
6
        $dbh->do(q{UPDATE old_reserves SET hold_group_id = NULL});
7
8
        $dbh->do(q{ALTER TABLE reserves DROP FOREIGN KEY reserves_ibfk_6});
9
        $dbh->do(q{ALTER TABLE old_reserves DROP FOREIGN KEY old_reserves_ibfk_5});
10
11
        $dbh->do(q{DROP TABLE hold_group});
12
        $dbh->do(q{CREATE TABLE hold_group (
13
            hold_group_id int unsigned NOT NULL AUTO_INCREMENT,
14
            PRIMARY KEY (hold_group_id)
7
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci});
15
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci});
8
    $dbh->do(q{ALTER TABLE reserves ADD COLUMN hold_group_id int unsigned NULL DEFAULT NULL});
16
    }
9
    $dbh->do(q{ALTER TABLE reserves ADD CONSTRAINT reserves_ibfk_6 FOREIGN KEY (hold_group_id) REFERENCES hold_group (hold_group_id) ON DELETE SET NULL ON UPDATE CASCADE});
17
10
    $dbh->do(q{ALTER TABLE old_reserves ADD COLUMN hold_group_id int unsigned NULL DEFAULT NULL});
18
    unless( column_exists( 'reserves', 'hold_group_id' ) ){
11
    $dbh->do(q{ALTER TABLE old_reserves ADD CONSTRAINT old_reserves_ibfk_5 FOREIGN KEY (hold_group_id) REFERENCES hold_group (hold_group_id) ON DELETE SET NULL ON UPDATE CASCADE});
19
        $dbh->do(q{ALTER TABLE reserves ADD COLUMN hold_group_id int unsigned NULL DEFAULT NULL});
20
    }
21
    unless( column_exists( 'old_reserves', 'hold_group_id') ){
22
        $dbh->do(q{ALTER TABLE old_reserves ADD COLUMN hold_group_id int unsigned NULL DEFAULT NULL});
23
    }
24
25
    unless( foreign_key_exists( 'reserves', 'reserves_ibfk_6' ) ){
26
        $dbh->do(q{ALTER TABLE reserves ADD CONSTRAINT reserves_ibfk_6 FOREIGN KEY (hold_group_id) REFERENCES hold_group (hold_group_id) ON DELETE SET NULL ON UPDATE CASCADE});
27
    }
28
    unless( foreign_key_exists( 'old_reserves', 'old_reserves_ibfk_5' ) ){
29
        $dbh->do(q{ALTER TABLE old_reserves ADD CONSTRAINT old_reserves_ibfk_5 FOREIGN KEY (hold_group_id) REFERENCES hold_group (hold_group_id) ON DELETE SET NULL ON UPDATE CASCADE});
30
    }
12
31
13
    SetVersion( $DBversion );
32
    SetVersion( $DBversion );
14
    print "Upgrade to $DBversion done (Bug 15516 - Adding hold group table)\n";
33
    print "Upgrade to $DBversion done (Bug 15516 - Adding hold group table)\n";
(-)a/installer/data/mysql/kohastructure.sql (-2 / +1 lines)
Lines 1948-1954 CREATE TABLE `old_reserves` ( -- this table holds all holds/reserves that have b Link Here
1948
    ON DELETE SET NULL ON UPDATE SET NULL,
1948
    ON DELETE SET NULL ON UPDATE SET NULL,
1949
  CONSTRAINT `old_reserves_ibfk_4` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`)
1949
  CONSTRAINT `old_reserves_ibfk_4` FOREIGN KEY (`itemtype`) REFERENCES `itemtypes` (`itemtype`)
1950
    ON DELETE SET NULL ON UPDATE SET NULL,
1950
    ON DELETE SET NULL ON UPDATE SET NULL,
1951
  CONSTRAINT `old_reserves_ibfk_5` FOREIGN KEY (hold_group_id) REFERENCES hold_group (hold_group_id)
1951
  CONSTRAINT `old_reserves_ibfk_5` FOREIGN KEY (`hold_group_id`) REFERENCES `hold_group` (`hold_group_id`)
1952
    ON DELETE SET NULL ON UPDATE CASCADE
1952
    ON DELETE SET NULL ON UPDATE CASCADE
1953
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1953
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
1954
1954
1955
- 

Return to bug 15516