Content der Datenbank händisch von Joomla 3.10.X nach Joomla 4.0.X migrieren
Bei einem frühen Umstieg von Joomla 3 auf Joomla 4 kann es durchaus vorkommen, dass das Update fehlschlägt.
Auch inkompatible Erweiterungen oder eine bereits durch viele installierte und deinstallierte Erweiterungen nennen wir es einmal "verbrauchte" Joomla-Installation können zum Abbruch des Updates führen.
Auch ein zuvor fehlgeschlagenes Update auf Joomla 4, welches Spuren im Dateisystem oder der Datenbank hinterlassen hat, kann einen erneuten Updateversuch verhindern.
Evtl. ist es dann einfacher Joomla 4 komplett neu zu installieren und nur die Artikel / Inhalte / Benutzer in die neue Datenbank zu migrieren.
So läuft´s......
Grundproblem
Von Joomla 3 nach Joomla 4 ändert sich das Datenbanklayout. Ein einfaches Copy / Paste der Tabelle XXX_content in die neue Installation ist nicht zielführend.
Sämtliche Artikel bleiben schlicht unsichtbar.
Migration der Datenbank
Kopieren des _content
Die Tabelle SUFFIX_content muss vom alten zum neuen SUFFIX kopiert werden.
Beispiel :
- Alte Tabelle : wk23x_content
- Neue Tabelle : f78tr_content
- Damit muss der Inhalt der Tabelle wk23x_content nach f78tr_content migriert werden
Anpassung der _content Tabelle und Eingliederung
Nach dem reinen Kopieren des Contents sind im neuen Joomla 4.0.X noch immer keine Artikel sichtbar.
Hierfür muss zuerst noch in der Tabelle SUFFIX_workflow_associations jeder kopierte Artikel auch als Artikel bekannt gemacht werden.
Hierfür kann folgender My-SQL-Befehl nützlich sein :
INSERT INTO SUFFIX_workflow_associations (item_id, stage_id, extension) SELECT id, '1', 'com_content.article' FROM SUFFIX_content
Nun sollten die Artikel zumindest schon einmal im Administrator Bereich sichtbar sein.
Beim Bearbeiten und Abspeichern fällt jedoch die Fehlermeldung ".... table checked out cannot be NULL" negativ auf.
Um dieser Fehlermeldung zu begegnen muss die Spalte checked_out in der SUFFIX_content Tabelle mit der Eigenschaft NULL : JA versehen werden.
Weitere Tabellen
Neben der Content Tabelle sollten noch ein paar weitere Tabelle in das neue Joomla überführt werden.
SUFFIX_contentitem_tags - Hier sind die Schlagwörter gespeichert
SUFFIX_contentitem_tag_map - Hier werden die Schlagwörter den Artikeln zugeordnet
SUFFIX_categories - Die Tabelle für die Kategorien
SUFFIX_users - Wie der Name schon vermuten lässt, hier sind die User gespeichert......
SUFFIX_user_usergroup_map - und ihre Zuordnung zu den Buetzergruppen
SUFFIX_viewlevels - zu guter Letzt die Zugriffsebenen
SUFFIX_ucm_base - interne Joomla-Zuordnungstabellen für u.a. Verknüpfung mit Tags / Schlagwörtern
SUFFIX_ucm_base_content - interne Joomla-Zuordnungstabellen für u.a. Verknüpfung mit Tags / Schlagwörtern
Beim Kopieren der Benutzer, sowie Beutzergruppen, sollte man sicherstellen, dass man auch mindestens einen Administrator kopiert oder behält um sich hinterher noch im Admin-Bereich ein loggen zu können.
Bevor in der neuen Joomla-Seite neue Artikel / Kategorien angelegt werden / Schlagwörter angelegt und verlinkt werden usw. sollten unbedingt zuerst die Arbeiten an der Datenbank abgeschlossen sein !
Ein anderes Vorgehen kann zu einer korrupten Datenbank und damit zum Datenverlust führen !
Weiteres
Sollten nun Probleme beim Laden der Schlagwörter auftreten, kann folgende Einstellung versucht werden :
...