|
Line 0
Link Here
|
|
|
1 |
$DBversion = 'XXX'; # will be replaced by the RM |
| 2 |
if( CheckVersion( $DBversion ) ) { |
| 3 |
|
| 4 |
if ($dbh->do("SELECT 1 FROM authorised_value_categories WHERE category_name='CHECKOUT_TYPE'") == 0) { |
| 5 |
# Add authorised value category "CHECKOUT_TYPE" |
| 6 |
$dbh->do( q| |
| 7 |
INSERT IGNORE INTO authorised_value_categories( category_name ) VALUES ('CHECKOUT_TYPE'); |
| 8 |
| ); |
| 9 |
} |
| 10 |
|
| 11 |
if ($dbh->do("SELECT 1 FROM authorised_values WHERE authorised_value='ONSITE'") == 0) { |
| 12 |
# Add authorised value "ONSITE" under "CHECKOUT_TYPE" category |
| 13 |
$dbh->do( q| |
| 14 |
INSERT IGNORE INTO authorised_values(category, authorised_value, lib, lib_opac) VALUES ('CHECKOUT_TYPE', 'ONSITE', 'On-site checkout', 'On-site checkout'); |
| 15 |
| ); |
| 16 |
} |
| 17 |
if ($dbh->do("SELECT 1 FROM authorised_values WHERE authorised_value='CHECKOUT'") == 0) { |
| 18 |
# Add authorised value "CHECKOUT" under "CHECKOUT_TYPE" category |
| 19 |
$dbh->do( q| |
| 20 |
INSERT IGNORE INTO authorised_values(category, authorised_value, lib, lib_opac) VALUES ('CHECKOUT_TYPE', 'CHECKOUT', 'Normal checkout', 'Normal checkout'); |
| 21 |
| ); |
| 22 |
} |
| 23 |
|
| 24 |
$dbh->do( q| |
| 25 |
ALTER TABLE issues MODIFY COLUMN checkout_type VARCHAR(80) NOT NULL DEFAULT 'CHECKOUT'; |
| 26 |
| ); |
| 27 |
|
| 28 |
$dbh->do( q| |
| 29 |
ALTER TABLE old_issues MODIFY COLUMN checkout_type VARCHAR(80) NOT NULL DEFAULT 'CHECKOUT'; |
| 30 |
| ); |
| 31 |
|
| 32 |
# Add a foreign key between old_issues.checkout_type and authorised_values.authorised_value |
| 33 |
if ( !foreign_key_exists( 'issues', 'issues_ctfk' ) ) { |
| 34 |
$dbh->do( "ALTER TABLE issues ADD CONSTRAINT issues_ctfk FOREIGN KEY (checkout_type) REFERENCES authorised_values(authorised_value) ON UPDATE CASCADE ON DELETE RESTRICT" ); |
| 35 |
} |
| 36 |
|
| 37 |
# Add a foreign key between issues.checkout_type and authorised_values.authorised_value |
| 38 |
if ( !foreign_key_exists( 'old_issues', 'old_issues_ctfk' ) ) { |
| 39 |
$dbh->do( "ALTER TABLE old_issues ADD CONSTRAINT old_issues_ctfk FOREIGN KEY (checkout_type) REFERENCES authorised_values(authorised_value) ON UPDATE CASCADE ON DELETE RESTRICT" ); |
| 40 |
} |
| 41 |
|
| 42 |
# Always end with this (adjust the bug info) |
| 43 |
SetVersion( $DBversion ); |
| 44 |
print "Upgrade to $DBversion done (Bug 25103 - Dynamically add checkout types\n"; |
| 45 |
} |