3fa514133b
If the 'statistics' table contains circulation information about items that are no longer on the DB it will raise a warning. This patch makes the updatedatabase.pl script use the deleteditems and deletedbiblioitems tables to get information for those items on the statistics table. To reproduce: - Have your sample DB contain some circulation data on the statistics table - Make sure some of them have NULL itemtype: > UPDATE statistics SET itemtype = NULL WHERE type='return'; - Check the upgrade query catches them: > SELECT s.itemnumber, i.itype, b.itemtype FROM ( SELECT DISTINCT itemnumber FROM statistics WHERE ( type = "return" OR type = "localuse" ) AND itemtype IS NULL ) s LEFT JOIN ( SELECT itemnumber,biblionumber, itype FROM items UNION SELECT itemnumber,biblionumber, itype FROM deleteditems ) i ON (s.itemnumber=i.itemnumber) LEFT JOIN ( SELECT biblionumber, itemtype FROM biblioitems UNION SELECT biblionumber, itemtype FROM deletedbiblioitems ) b ON (i.biblionumber=b.biblionumber); +------------+-------+----------+ | itemnumber | itype | itemtype | +------------+-------+----------+ | 732 | BK | BK | | 731 | BK | BK | +------------+-------+----------+ 2 rows in set (0.00 sec) - Delete the items, and some biblio too. - Re-run the query => SUCCESS: Same results - Go reset to NULL the itemtypes > UPDATE statistics SET itemtype = NULL WHERE type='return'; - Run the updatedatabase.pl script: $ sudo koha-shell koahdev ; cd kohaclone $ perl installer/data/mysql/updatedatabase.pl => SUCCESS: No warnings Note: It is possible that on production sites, if the sysadmin is cleaning the deleted{items|biblioitems|biblio} tables, there will be warnings. This is expected as they need to know some data lacks information. Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> |
||
---|---|---|
.. | ||
data/mysql | ||
externalmodules.pl | ||
html-template-to-template-toolkit.pl | ||
install.pl |