Bug 27069: Update existing rules
This patch adds an atomic update file that takes care of translating existing rules. It constrains the rules to translate to those currently expected by Koha and leaves any other value out. To test: 1. Have some manually added rules: $ koha-mysql kohadev > INSERT INTO circulation_rules (rule_name,rule_value) VALUES ('holdallowed', -1); > INSERT INTO circulation_rules (rule_name,rule_value) VALUES ('holdallowed', 1); > INSERT INTO circulation_rules (rule_name,rule_value) VALUES ('holdallowed', 2); > INSERT INTO circulation_rules (rule_name,rule_value) VALUES ('holdallowed', 3); > INSERT INTO circulation_rules (rule_name,rule_value) VALUES ('holdallowed', 0); > INSERT INTO circulation_rules (rule_name,rule_value) VALUES ('holdallowed', 4); 2. Apply this patch 3. Run: $ updatedatabase => SUCCESS: It doesn't explode 4. Verify the created rules were updated correctly: > SELECT * FROM circulation_rules WHERE rule_name='holdallowed'; 5: Verify all the tests that dealt with this rule still pass! $ kshell k$ git diff origin/master --name-only | grep -e '\.t$' | \ xargs prove => SUCCESS: Tests pass! 6. Verify the UI handles setting things correctly 7. Sign off :-D Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
parent
1d9d05613b
commit
34acb76a21
1 changed files with 17 additions and 0 deletions
17
installer/data/mysql/atomicupdate/bug_27069.perl
Normal file
17
installer/data/mysql/atomicupdate/bug_27069.perl
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
$DBversion = 'XXX';
|
||||||
|
if( CheckVersion( $DBversion ) ) {
|
||||||
|
|
||||||
|
$dbh->do(q{
|
||||||
|
UPDATE circulation_rules
|
||||||
|
SET
|
||||||
|
rule_value = CASE
|
||||||
|
WHEN rule_value='0' THEN 'not_allowed'
|
||||||
|
WHEN rule_value='1' THEN 'from_home_library'
|
||||||
|
WHEN rule_value='2' THEN 'from_any_library'
|
||||||
|
WHEN rule_value='3' THEN 'from_local_hold_group'
|
||||||
|
END
|
||||||
|
WHERE rule_name='holdallowed' AND rule_value >= 0 AND rule_value <= 3;
|
||||||
|
});
|
||||||
|
|
||||||
|
NewVersion( $DBversion, 27069, "Change holdallowed values from numbers to strings");
|
||||||
|
}
|
Loading…
Reference in a new issue