Bug 22339: Fix search field mappings of MARC fixed fields
[koha-equinox.git] / installer / data / mysql / atomicupdate / bug_22339.perl
1 $DBversion = 'XXX'; # will be replaced by the RM
2 if( CheckVersion( $DBversion ) ) {
3     $dbh->do( q|
4         UPDATE search_marc_map SET marc_field='007_/0'
5           WHERE marc_type IN ('marc21', 'normarc') AND marc_field='007_/1' AND id IN
6             (SELECT search_marc_map_id FROM search_marc_to_field WHERE search_field_id IN
7               (SELECT id FROM search_field WHERE label='ff7-00')
8             )
9     |);
10
11     $dbh->do( q|
12         UPDATE search_marc_map SET marc_field='007_/1'
13           WHERE marc_type IN ('marc21', 'normarc') AND marc_field='007_/2' AND id IN
14             (SELECT search_marc_map_id FROM search_marc_to_field WHERE search_field_id IN
15               (SELECT id FROM search_field WHERE label='ff7-01')
16             )
17     |);
18
19     $dbh->do( q|
20         UPDATE search_marc_map SET marc_field='007_/2'
21           WHERE marc_type IN ('marc21', 'normarc') AND marc_field='007_/3' AND id IN
22             (SELECT search_marc_map_id FROM search_marc_to_field WHERE search_field_id IN
23               (SELECT id FROM search_field WHERE label='ff7-02')
24             )
25     |);
26
27     # N.B. ff7-01-02 really is 00-01!
28     $dbh->do( q|
29         UPDATE search_marc_map SET marc_field='007_/0-1'
30           WHERE marc_type IN ('marc21', 'normarc') AND marc_field='007_/1-2' AND id IN
31             (SELECT search_marc_map_id FROM search_marc_to_field WHERE search_field_id IN
32               (SELECT id FROM search_field WHERE label='ff7-01-02')
33             )
34     |);
35
36     $dbh->do( q|
37         UPDATE search_marc_map SET marc_field='008_/0-5'
38           WHERE marc_type IN ('marc21', 'normarc') AND marc_field='008_/1-5' AND id IN
39             (SELECT search_marc_map_id FROM search_marc_to_field WHERE search_field_id IN
40               (SELECT id FROM search_field WHERE label='date-entered-on-file')
41             )
42     |);
43
44     $dbh->do( q|
45         UPDATE search_marc_map SET marc_field='leader_/0-4'
46           WHERE marc_type IN ('marc21', 'normarc') AND marc_field='leader_/1-5' AND id IN
47             (SELECT search_marc_map_id FROM search_marc_to_field WHERE search_field_id IN
48               (SELECT id FROM search_field WHERE label='llength')
49             )
50     |);
51
52     # Always end with this (adjust the bug info)
53     SetVersion( $DBversion );
54     print "Upgrade to $DBversion done (Bug 22339 - Fix search field mappings of MARC fixed fields)\n";
55 }