Upgrade von Piwigo 2.8 auf 2.9 geklickt, schien sauber durchgelaufen zu sein. Danach zeigte die Galerie nur noch eine Fehlermeldung.
Das Problem
Warning: [mysql error 1054] Unknown column 'last_visit' in 'field list'
UPDATE piwigo_user_infos
SET last_visit = NOW(),
lastmodified = lastmodified
WHERE user_id = 1
Die Spalte last_visit existierte nicht. Ein Blick ins Nginx-Error-Log zeigte, dass der Fehler schon während des Upgrades auftrat:
ALTER TABLE `piwigo_user_infos`
ADD COLUMN `last_visit` datetime default NULL,
ADD COLUMN `last_visit_from_history` enum('true','false') NOT NULL default 'false'
;
Das ALTER TABLE war beim Upgrade aus irgendeinem Grund fehlgeschlagen. Die Datenbank-Migration ist abgesoffen.
Die Lösung
Die fehlenden Statements aus dem Upgrade-Script herausgesucht und von Hand auf die Datenbank losgelassen:
ALTER TABLE `piwigo_comments` CHANGE `date` `date` datetime NOT NULL default '1970-01-01 00:00:00';
ALTER TABLE `piwigo_history` CHANGE `date` `date` date NOT NULL default '1970-01-01';
ALTER TABLE `piwigo_images` CHANGE `date_available` `date_available` datetime NOT NULL default '1970-01-01 00:00:00';
ALTER TABLE `piwigo_old_permalinks` CHANGE `date_deleted` `date_deleted` datetime NOT NULL default '1970-01-01 00:00:00';
ALTER TABLE `piwigo_rate` CHANGE `date` `date` date NOT NULL default '1970-01-01';
ALTER TABLE `piwigo_sessions` CHANGE `expiration` `expiration` datetime NOT NULL default '1970-01-01 00:00:00';
ALTER TABLE `piwigo_upgrade` CHANGE `applied` `applied` datetime NOT NULL default '1970-01-01 00:00:00';
ALTER TABLE `piwigo_user_infos` CHANGE `registration_date` `registration_date` datetime NOT NULL default '1970-01-01 00:00:00';
ALTER TABLE `piwigo_user_infos`
ADD COLUMN `last_visit` datetime default NULL,
ADD COLUMN `last_visit_from_history` enum('true','false') NOT NULL default 'false'
;
Danach lief alles wieder. Lektion: Nach einem Piwigo-Upgrade immer prüfen, ob die Datenbank-Migration vollständig durchgelaufen ist. Im Zweifel ins Error-Log schauen.
Siehe auch: Umzug auf FreeBSD/Nginx
Fragen? Einfach melden.
Schreibe einen Kommentar