Zum Inhalt springen

Versioning: Duplicate entry 2147483647

Erstellt am 14. März 2005 · Noch keine Antworten

Tags: Frage

Beatz ·

Hallo an alle, die gerne die Versioning Extension ausprobieren möchten,

ich habe die Tage diese Extension installiert und nach ersten Tests für gut befunden. Jedoch hatte ich ein kleines Problem damit. Ich möchte dies hier kurz beschreiben, weil ich zu dem Thema noch nichts im Forum gefunden habe.

Beim anlegen einer Seite wurde die ID der page auf 2147483647 gesetzt (das Maximum, was mit dem TYP INT möglich ist). Folglich konnte ich keine neuen Seiten anlegen. Die Datenbank wollte die ID der neuen page (autoincrement) um einen hochsetzen, war aber schon max und somit kam die Fehlermeldung des doppelten Eintrages.

Abhilfe

Die Versioning-Extension funktioniert nur mit MySQL ab Version 4.0.18. Daher ist ein Update von MySQL zwingend notwendig, um die Versioning-Extension zu nutzen.
Folgende Meldung findet man in den Tiefen von Typo3.org

- DO NOT use the new "version" extension if you are running a MySQL version
below 4.0.18! If you do a bug in MySQL will mess up the "Next Autoindex" of
tables in the database meaning that unique IDs are raised to nearly 2
billion and you will get a lot of trouble. This is NOT a bug in the
versioning extension, but a problem with MySQL which seemingly is fixed in
versions only above 4.0.18.

Vorher sollte jedoch folgendes gemacht werden:

  1. Den betroffenen Datensatz in der Tabelle page mit der uid 2147483647 per Hand löschen.

  2. Dump durchführen, beispielsweise

    shell> mysqldump -u mysqlbenutzer -p --opt datenbank > datensicherung.sql
    
  3. Datenbank löschen

  4. Datenbank neu anlegen

  5. Dump in die neue Datenbank einspielen, beispielsweise

    shell> mysql -u mysqlbenutzer -p datenbank < datensicherung.sql
    
  6. Anschließend konnte ich Versioning ohne Probleme neu installieren.

Ich habe jeweils nach dem löschen der DB und dem Anlegen der neuen DB MySQL restartet, weiß aber nicht, ob es zwingend notwendig war.