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

(-)a/installer/data/mysql/atomicupdate/bug_15272.perl (+37 lines)
Line 0 Link Here
1
$DBversion = 'XXX'; # will be replaced by the RM
2
if( CheckVersion( $DBversion ) ) {
3
4
    unless ( column_exists('aqbooksellers', 'address') ) {
5
        $dbh->do(q|
6
            ALTER TABLE aqbooksellers
7
            ADD COLUMN address LONGTEXT
8
            AFTER name
9
        |);
10
        $dbh->do(q|
11
            UPDATE aqbooksellers
12
            SET address = CONCAT(address1, "\r\n", address2, "\r\n", address3, "\r\n", address4)
13
        |);
14
        $dbh->do(q|
15
            ALTER TABLE aqbooksellers
16
            DROP COLUMN address1,
17
            DROP COLUMN address2,
18
            DROP COLUMN address3,
19
            DROP COLUMN address4
20
        |);
21
        $dbh->do(q|
22
            UPDATE letter SET content=REPLACE(content, "<<aqbooksellers.address1>>\n<<aqbooksellers.address2>>\n<<aqbooksellers.address3>>\n<<aqbooksellers.address4>>\n", "<<aqbooksellers.address>>\n");
23
        |);
24
25
        my $occurrences_left = $dbh->selectall_arrayref(q|
26
            SELECT code, name
27
            FROM letter
28
            WHERE content LIKE "%address4%"
29
        |);
30
        for my $o ( @$occurrences_left ) {
31
            warn sprintf "Letter '%s' (%s) still use 'address4' from aqbooksellers, but the column has been removed (same for address1, address2 and address3)"
32
        }
33
    }
34
35
    SetVersion( $DBversion );
36
    print "Upgrade to $DBversion done (Bug 15272 - Merge columns aqbooksellers.addressX into address)\n";
37
}
(-)a/installer/data/mysql/kohastructure.sql (-5 / +1 lines)
Lines 2759-2768 DROP TABLE IF EXISTS `aqbooksellers`; Link Here
2759
CREATE TABLE `aqbooksellers` ( -- information about the vendors listed in acquisitions
2759
CREATE TABLE `aqbooksellers` ( -- information about the vendors listed in acquisitions
2760
  `id` int(11) NOT NULL auto_increment, -- primary key and unique identifier assigned by Koha
2760
  `id` int(11) NOT NULL auto_increment, -- primary key and unique identifier assigned by Koha
2761
  `name` LONGTEXT NOT NULL, -- vendor name
2761
  `name` LONGTEXT NOT NULL, -- vendor name
2762
  `address1` LONGTEXT, -- first line of vendor physical address
2762
  `address` LONGTEXT, -- vendor physical address
2763
  `address2` LONGTEXT, -- second line of vendor physical address
2764
  `address3` LONGTEXT, -- third line of vendor physical address
2765
  `address4` LONGTEXT, -- fourth line of vendor physical address
2766
  `phone` varchar(30) default NULL, -- vendor phone number
2763
  `phone` varchar(30) default NULL, -- vendor phone number
2767
  `accountnumber` LONGTEXT, -- vendor account number
2764
  `accountnumber` LONGTEXT, -- vendor account number
2768
  `notes` LONGTEXT, -- order notes
2765
  `notes` LONGTEXT, -- order notes
2769
- 

Return to bug 15272