Veröffentlicht: 24.04.2016

Seafile: SQL Fehler beim Update auf 5.1

Wer über eine ältere Seafile Installation verfügt und auf die aktuelle Version aktualisieren möchte, der wird möglicherweise die folgende Meldung erhalten.

Failed to execute sql: (1146, "Table 'seahub.sysadmin_extra_userloginlog' doesn't exist")

Der Hersteller hat in der Vergangenheit das Datenbankschema von Seafile und Seafile Pro bei Neuinstallationen aneinander angeglichen, dies jedoch nicht bei bestehenden Installationen nachgeholt. Mit den folgenden SQL Statements könnt ihr die Datenbank für das Update vorbereiten.

Im ersten Schritt werden wir die bereits durchgeführte Änderung der Tabelle RepoTokenPeerInfo wieder rückgängig machen. Wechselt hierzu in die Seafile Datenbank (use seafile-db) und führte das folgende Statement aus.

ALTER TABLE RepoTokenPeerInfo DROP client_ver;

Anschließend erstellen wir die fehlende Tabelle. Wechselt hierzu vorab in die Seahub Datenbank (use seahub-sb) und führt anschließend das folgende Statement aus.

CREATE TABLE `sysadmin_extra_userloginlog` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `login_date` datetime NOT NULL,
  `login_ip` varchar(20) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `sysadmin_extra_userloginlog_ee0cafa2` (`username`),
  KEY `sysadmin_extra_userloginlog_c8db99ec` (`login_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Das Upgrade Skript sollte nun ohne Fehler durchlaufen.