Link zum Passwort zurücksetzen funktioniert nicht

Hinweis
Der Platzhalter {prefix} in dieser Anleitung ist durch den Tabellenprefix zu ersetzen.

Symptome

  • Der versandte Link zum Zurücksetzen des Passworts funktioniert nicht.
  • In der Datenbank fehlt die Tabelle {prefix}password_reset.

Betroffene Versionen

  • UliCMS 2017.4

Ursache

Durch die Umstellung der Datenbank auf die Kodierung utf8mb4 werden nun 4 Bytes je Zeichen reserviert. Daher ist das Feld "token" zu lang für einen Primärschlüssel.

Fehlerbehebung

Führen Sie folgendes SQL aus.

CREATE TABLE IF NOT EXISTS `{prefix}password_reset` (
  `token` varchar(50) NOT NULL,
  `user_id` int(11) NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`token`)
) ENGINE=InnoDB DEFAULT charset=utf8mb4;