In auth_header table has columns datecreated and datemodified. Those columns are never filled by code. Should they be managed by database ?
datecreated is set in C4::AuthoritiesMarc::AddAuthority: 694 my $sth=$dbh->prepare("insert into auth_header (authid,datecreated,authtypecode,marc,marcxml) values (?,now(),?,?,?)");
Created attachment 34330 [details] [review] Bug 11165: Automatically save the authority last modification time 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 is set to now (something better to suggest?) 3/ Update an authority and verify (using the sql cli) that this value has been updated.
What about: Koha/Schema/Result/AuthHeader.pm: "datemodified", installer/data/mysql/kohastructure.sql: `datemodified` date default NULL, Also I do not like the update of datemodified when running the dbrev. If you rename the column and add the 'on update' clause later, you should be able to prevent that.
Created attachment 36999 [details] [review] Bug 11165: Automatically save the authority last modification time 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 is set to now (something better to suggest?) 3/ Update an authority and verify (using the sql cli) that this value has been updated.
Created attachment 37000 [details] [review] Bug 11165: Automatically save the authority last modification time 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.
(In reply to M. de Rooy from comment #3) > What about: > Koha/Schema/Result/AuthHeader.pm: "datemodified", > installer/data/mysql/kohastructure.sql: `datemodified` date default NULL, Oops! The schema file will be updated by the RM. > Also I do not like the update of datemodified when running the dbrev. If you > rename the column and add the 'on update' clause later, you should be able > to prevent that. Ho good catch, I have just tried and it seems to work!
Created attachment 37006 [details] [review] Bug 11165: Automatically save the authority last modification time 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.
Created attachment 38026 [details] [review] [PASSED QA] Bug 11165: Automatically save the authority last modification time 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>
Patch pushed to master. Thanks Jonathan!