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

(-)a/installer/data/mysql/atomicupdate/bug-27253.pl (-1 / +46 lines)
Line 0 Link Here
0
- 
1
use Modern::Perl;
2
3
return {
4
    bug_number => "27253",
5
    description => "Fix definition of borrowers.updated_on and deletedborrowers.updated_on",
6
    up => sub {
7
        my ($args) = @_;
8
        my ($dbh, $out) = @$args{qw(dbh out)};
9
10
        my $rv = $dbh->do(q{
11
            UPDATE borrowers
12
            SET updated_on = GREATEST(
13
                COALESCE(date_renewed, FROM_UNIXTIME(0)),
14
                COALESCE(dateenrolled, FROM_UNIXTIME(0)),
15
                COALESCE(lastseen, FROM_UNIXTIME(0))
16
            )
17
            WHERE updated_on IS NULL
18
        });
19
        say $out sprintf('Updated all NULL values of borrowers.updated_on to GREATEST(date_renewed, dateenrolled, lastseen): %d rows updated', $rv);
20
21
        $rv = $dbh->do(q{
22
            UPDATE deletedborrowers
23
            SET updated_on = GREATEST(
24
                COALESCE(date_renewed, FROM_UNIXTIME(0)),
25
                COALESCE(dateenrolled, FROM_UNIXTIME(0)),
26
                COALESCE(lastseen, FROM_UNIXTIME(0))
27
            )
28
            WHERE updated_on IS NULL
29
        });
30
        say $out sprintf('Updated all NULL values of borrowers.updated_on to GREATEST(date_renewed, dateenrolled, lastseen): %d rows updated', $rv);
31
32
        $dbh->do(q{
33
            ALTER TABLE borrowers
34
            MODIFY updated_on timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
35
            COMMENT 'time of last change could be useful for synchronization with external systems (among others)'
36
        });
37
        say $out 'Fixed definition of borrowers.updated_on';
38
39
        $dbh->do(q{
40
            ALTER TABLE deletedborrowers
41
            MODIFY updated_on timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
42
            COMMENT 'time of last change could be useful for synchronization with external systems (among others)'
43
        });
44
        say $out 'Fixed definition of deletedborrowers.updated_on';
45
    },
46
};

Return to bug 27253