Migrate textmedia Fehler beim TYPO3 Update

Beim Update auf 7.6 kann es sein, dass diese Update Funktion einen Fehler hat:

Migrate CTypes text, image and textpic to textmedia and move file relations from „image“ to „asset_references“

Update failed!

SQL-ERROR: Column 'assets' cannot be null

Ursache ist, dass nach Updates von 4.5 auf 6.2 die FAL Konvertierung nicht bei allen Einträgen funktioniert hat. Das fällt aber erst beim Update auf 7.6 auf, wenn man nach textmedia konvertiert für den fluid_styled_content.
Mit diesem SQL Befehl kann man sich erst mal alle image Einträge anzeigen lassen:

SELECT distinct(image) FROM tt_content;

Normalerweise sollten in „image“ nur noch Zahlenwerte wie 0,1,2 stehen. Doch manchmal steht da noch NULL oder der Filename.

Mit diesem Statement aktualisiert man alle leeren Einträge:

UPDATE `tt_content` SET image=0 WHERE image IS NULL;
UPDATE `tt_content` SET image=0 WHERE image LIKE '';

Wenn das nicht ausreicht, kann beim erneuten Update folgende Fehlermeldung kommen:

SQL-ERROR: Incorrect integer value: 'logo-webseite.jpg' for column 'assets' at row 1

Das bedeutet es sind noch Bilder mit Filename enthalten. Diese liegen bei 4.5 in uploads/pics, und nach dem 6.2 Update in fileadmin/_migrated. Wenn das Bild aber beim Update fehlt, wird der Eintrag nicht gelöscht sondern bleibt als String stehen.

Mit diesem Statemant kann man sich die Filenames anzeigen lassen, und dann manuell beheben:

SELECT * FROM tt_content WHERE image NOT REGEXP '^[[:digit:]]$';

Wenn man einfach alle falschen Einträge entfernen möchte, kann man sie mit diesem Statement auf 0 setzen:

UPDATE tt_content SET image=0 WHERE image NOT REGEXP '^[[:digit:]]$';

Danach sollte das Update fehlerfrei funktionieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.