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 |
} |