This patch rename the column auth_header.datemodified with modification_time.
Now this column will be automatically updated when a row will be
updated.
Test plan:
0/ Verify that la major part of your auth_header.datemodified is set to
null
1/ Execute the updatedb entry
2/ Verify that the column is renamed and the values have not been
changed.
3/ Update an authority and verify (using the sql cli) that this value
has been updated.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
In the absence of a coding guideline stipulating a preferred column
name for a timestamp, this modification_time works for me.
Null values are replaced by current time after db rev; other values
are left alone.
NOTE FOR RM: Please run update_dbix_class_files.pl.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
`authid` bigint(20) unsigned NOT NULL auto_increment,
`authtypecode` varchar(10) NOT NULL default '',
`datecreated` date default NULL,
- `datemodified` date default NULL,
+ `modification_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`origincode` varchar(20) default NULL,
`authtrees` mediumtext,
`marc` blob,
SetVersion ($DBversion);
}
+$DBversion = "3.19.00.XXX";
+if ( CheckVersion($DBversion) ) {
+ $dbh->do(q|
+ ALTER TABLE auth_header
+ CHANGE COLUMN datemodified modification_time TIMESTAMP NOT NULL default CURRENT_TIMESTAMP
+ |);
+ $dbh->do(q|
+ ALTER TABLE auth_header
+ CHANGE COLUMN modification_time modification_time TIMESTAMP NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
+ |);
+ print "Upgrade to $DBversion done (Bug 11165: Update auth_header.datemodified when updated)\n";
+ SetVersion ($DBversion);
+}
+
# DEVELOPER PROCESS, search for anything to execute in the db_update directory
# SEE bug 13068
# if there is anything in the atomicupdate, read and execute it.