Migration von Kommentaren

Bei der thematischen Aufteilung meiner alten Website stand ich vor dem Problem der Migration, also wie ich alte Kommentare mit auf die neuen Domains nehme. Das Vorgehen ist bei jedem CMS identisch, welches einen MySQL-Server (MariaDB) oder etwas vergleichbares benutzt.

Folgende Fragestellungen lese ich immer wieder im Netz, aber es gibt da selten eine Antwort darauf:

  • Wie importiere ich Kommentare, wenn sich die Struktur der Website (und damit die Artikel-IDs geĂ€ndert) haben?
  • Wie importiere ich ĂŒberhaupt Kommentare von einer Kommentar-Komponente zu einer anderen?‘
  • Wie importiere ich Kommentare oder GĂ€stebucheintrĂ€ge von WordPress zu Joomla oder umgekehrt?

Vielleicht liest es sich erst umstĂ€ndlich, aber die Migration ist recht simpel und auch flott erledigt. Die Anleitung ist narrensicher, wenn Ihr Euch an alles haltet, passiert auch nichts mit Eurer Datenbank. Sicher könnte man etwas scripten oder alles eleganter mit SQL-Befehlen erledigen, aber wie gesagt: es soll einfach und narrensicher auch fĂŒr AnfĂ€nger sein.

Haftungsausschluss

ACHTUNG! NICHT NACHMACHEN!

  1. Dies ist keine Anleitung!
  2. Der Artikel dient der persönlichen Dokumentation!
  3. Dieser Artikel soll nicht die beiliegenden Anleitungen, Einbauhinweise oder Installationsanleitungen ersetzen!
  4. Dieser Artikel soll einen groben Überblick ĂŒber die anfallenden Arbeiten ermöglichen.
  5. Der Artikel erhebt keinen Anspruch auf VollstÀndigkeit oder gar Korrektheit.
  6. Hier beschreibe ich, wie ich diese Arbeiten als Laie erledigt habe – nicht, wie man sie korrekt oder nach handwerklichen Standards, Vorschriften oder Gesetzen erledigt.
  7. Ich lehne jede Verantwortung, Haftung und GewÀhrleistung ab. Jeder muss selbst wissen, was er macht.
  8. Einige Arbeiten sind durch Fachfremde nicht zulĂ€ssig, respektive gesetzwidrig und bedĂŒrfen teilweise mindestens der Abnahme durch einen ausgebildeten Berechtigten.
  9. Einige Handlungen und Arbeiten sind im öffentlichen Bereich (Straßenverkehr, Stromnetz, Luftraum, Internet, etc.) verboten oder verstoßen gegen Lizenzvereinbarungen, was straf- oder zivilrechtliche Konsequenzen nach sich ziehen kann.
  10. 230 Volt sind tödlich!
  11. Kein Backup? Kein Mitleid!
  12. Meine 3D-Modelle sind nur Machbarkeitsstudien, keine geprĂŒften, funktionsfĂ€higen Bauteile.
  13. Die beschriebenen TĂ€tigkeiten sind in der Folge rein akademischer Natur.
  14. Bedenke, dass durch Deine Arbeiten Dritte an Leib und Leben gefĂ€hrdet werden können und Du persönlich dafĂŒr haftest.

Mit dem Weiterlesen stimmst Du diesem Haftungsausschluss zu.

Ich gehe davon aus, dass Eure neue Kommentar-Erweiterung keine Importfunktion aus der DB oder ĂŒber ein Sheet (CSV) hat, bzw Ihr alte Kommentare aus einem Backup wieder herstellen wollt – sonst wĂ€rt Ihr ja nicht hier.

Ihr benötigt folgendes:
– Zugang zur Datenbank (i.d.R. phpMyAdmin)
– Libre Office, o.Ă€.
– Texteditor mit Syntax-Highlightning (komfortabler)

Prinzipielle Vorgehensweise:
– Neue Kommentare aus Datenbank als CSV exportieren
– In Tabellenkalkulation als Schablone importieren
– Alte Kommentare aus Datenbank (oder SQL-Dump) exportieren
– Der Übersicht halber in Tabellendokument iportieren
– Alte Kommentarspalten in neue Schablone kopieren
– Alle SQL-Steuerzeichen entfernen
– Nach Artikel-ID sortieren
– Artikel-ID auf neue ID Ă€ndern
– Als OpenDocument-Sheet exportieren
– Import in neue Datenbanktabelle
– Übertragen der reinen Daten in die vorhandene Tabelle der neuen Kommentarerweiterung

Anleitung im Detail:
Im Joomla-Backend:
Neue Kommentar-Komponente/-Erweiterung installieren und konfigurieren.

Im Joomla Frontend:
Einen Kommentar abgeben.
Name: HOTZENPLOTZ
Email:
Kommentar: KOMMENTAR
usw. usf.
Dadurch seht Ihr in der DB im Klartext, was in welches Feld eingetragen wird.

Im phpMyAdmin:
Die Tabelle mit dem neuen Kommentar suchen – ggf. ĂŒber die Suchfunktion nach suchen – und diese Tabelle als „CSV“ (nicht SQL!) exportieren.
phpMyAdmin


Editieren
In Libre Office Calc:
CSV-Datei importieren und alle Klammern und Hochkommata – „(„, „)“, „`“ und „‚“ – suchen und entfernen (mit nichts ersetzen). Die Klammern natĂŒrlich nicht in der Spalte mit den Kommentaren löschen, logisch!

Im Editor:
Altes SQL-Backup in einem Editor öffnen, der auch Syntax-Highlightning beherrscht. TextWrangler (macOS) zum Beispiel.

Die alten Kommentare im Editor suchen und die EintrĂ€ge von „INSERT INTO `j-PrĂ€fix_Comments`“ (je noch CMS und sinngemĂ€ĂŸ!) bis zum Ende der EintrĂ€ge markieren und kopieren.

Libre Office Calc:
Die Daten in ein neues Libre Calc Dokument einfĂŒgen. Es erscheint ein Import-Assistent.
Die Werte sind kommasepariert. Den Texttrenner „‚“ (Hochkomma) unbedingt löschen!
Importieren.


Auch hier alle Klammern und Hochkommata – „(„, „)“, „`“ und „‚“ – suchen und entfernen (mit nichts ersetzen). Die Klammern dabei nicht in der Kommentarspalte löschen!


Die Tabelle sollte nun selbsterklĂ€rend sein – mehr oder minder. 🙂
Jetzt die einzelnen Spalten ab der zweiten Zeile kopieren und in das erste Dokument (das mit der Tabelle der neuen Kommantar-Erweiterung) in die entsprechenden Spalten eintragen.
fertiges ods

Wenn Ihr nur von einer alten Kommentar-Erweiterung auf eine neue wechselt, dann geht es mit dem Import weiter.

Wechselt Ihr aber von einem CMS in ein anderes, oder wenn sich die Artikel-IDs durch den Umzug geĂ€ndert haben, dann mĂŒsst Ihr folgendes machen:

Artikel-ID suchen und ersetzen
Nach der Artikel-ID in der Tabelle mit den alten EintrÀgen suchen.


Nun im SQL-Backup im Texteditor nach „‚com_content.article.XXX‘ (sinngemĂ€ĂŸ) suchen. Dabei natĂŒrlich die ID-Nummer statt der o.a. „XXX“ suchen.
Ihr seht irgendwo danach den Artikelnamen:
‚com_content.article.19‘, ‚ARTIKELNAME DEINES ARTIKELS‘
Cool, nicht wahr? 😉


Okay, nun im neuen Sheet bloß nicht die ID suchen und die ersetzen! Die IDs sind ein- bis vierstellg! „22“ ersetzt folglich „22“, „122“, „221“, „222“ zum Teil ebenfalls! Deswegen mĂŒsst Ihr folgendes machen, ist eh ĂŒbersichtlicher:

Das ganze Sheet bis auf die Kopfzeile markieren.
Jetzt die erste Zelle in der ID-Spalte mit gedrĂŒckter Shift-Taste (Hochstelltaste) auswĂ€hlen.
Dadurch „weiß“ Calc, dass Ihr diese Spalte meint, wenn Ihr jetzt das Sheet komplett nach dieser Spalte neu sortiert: Icon „A-Z“ klicken.

Nun erscheinen alle Kommentare nach den Artikel sortiert. Saubere Sache.
Super. Jetzt könnte man das Sheet sicherheitshalber mal abspeichern.


Nehmt nun die erste Artikel-ID in der Spalte und sucht den passenden Artikel-Namen mit dem Texteditor in SQL-Backup, wie oben beschrieben.

Tragt den Namen des Artikel (oder einen sinnvollen Teil davon) in das Feld mit der ID. Sind mehrere Kommentare zu einem Artikel abgegeben worden was die Regel ist), markiert Ihr die Zelle einmal, bis sie schwarz umrandet ist und sieht die Umrandung an dem kleinen Knubbel unten rechts ĂŒber alle Zellen in der Spalte, die die ID des Artikels beinhalten.
Das macht Ihr mit allen Artikeln.

Hauptarbeit ist dabei, die alte Artikelnummer mit dem alten Artikelnamen herauszufinden.

Habt Ihr alle IDs mit dem alten (abgekĂŒrzten) Artikelnamen ersetzt, sucht Ihr Euch im Backend unter „Inhalt“ –> „BeitrĂ€ge“  (WP: BeitrĂ€ge, Alle BeitrĂ€ge) den neuen Artikelnamen und die dazu passende neue Artikel-ID (ganz rechts, Spalte „ID“). In WordPress haltet Ihr die Maus ĂŒber den Link des Beitragsnamens, dann wird i.d.R. in den meisten Browsern die URL unten links angezeigt. Dort steht unter anderem: „POST-XXXX“. Das ist die Post-ID.

IMPORT
Jetzt wieder in das Sheet und den (abgekĂŒrzten) Artikelnamen durch die neue ID ersetzen.
Wenn Ihr fertig seid, dann speichert das Sheet als „Open Document-File“ (ODS).

Nun phpMayAdmin öffnen und das Sheet importieren.
Format: „Open Document Sheet“ auswĂ€hlen.
Haken an „Oberste Zeile enthĂ€lt die Spaltennamen“
Alles andere deaktivieren.
Importieren.
import sql details

Den Import suchen, heißt vermutlich „Tabelle 1“.
Operationen –> kopiere Tabelle nach
Dort den Namen der Tabelle der Kommentarkomponente eintragen und „Nur Daten“ aktivieren.
Importieren.
phpMayAdmin import

Wenn Ihr alles richtig gemacht habt, dann sollten nun alle Kommentare migriert sein.

Über den Autor

Hessi

Michael "Hessi" Heßburg ist ein erfahrener Technik-Enthusiast und ehemaliger Informatiker. Seine Website, die er seit ĂŒber 25 Jahren betreibt, deckt vielfĂ€ltige Themen ab, darunter Haus & Garten, Hausrenovierung, IT, 3D-Druck, Retrocomputing und Autoreparatur. Zudem behandelt er gesellschaftspolitische Themen wie Datenschutz und Überwachung. Hessi ist seit 20 Jahren freiberuflicher Autor und bietet in seinem Blog fundierte Einblicke und praktische Tipps. Seine BeitrĂ€ge sind sorgfĂ€ltig recherchiert und leicht verstĂ€ndlich, um Leser bei ihren Projekten zu unterstĂŒtzen.

Schreibe einen Kommentar

Ich bin mit der DatenschutzerklÀrung und der Speicherung meiner eingegebenen Daten einverstanden.