Migration Postnuke -> Mambo Hallo,
ich habe mal versucht eine Migration der Artikel Daten von Postnuke auf Mambo durchzuführen. Das ganze basiert auf normale SQL Befehle.
Bitte postet weitere Verbesserungsvorschläge.
Danke.
Im ersten Schritt habe ich mir die einzelnen Datensätze der "mos_content" Tabelle (Mambo) und die nuke_stories (Postnuke 0.726) angesehen.
Zwar gibt es viele Unterschiede im Aufbau der Tabelle und sehr viele Spaltennamen sind einzigartig in dem einen oder anderen System, aber es war doch Möglich die wichtigen Informationen auszulesen.
Im Beispielscript werden die Artikel ID, Artikel Überschribt (Titel), Einführungstext, die Sections ID und die Hits übertragen. Wie ihr gleich sehen werdet ist auch eine "fulltext" Spalte im Script angegeben. Datails darüber weiter unten.
Hier also der SQL Code (einfach im PHPmyAdmin oder ähnlichem Programm in der DB ausführen.):
INSERT mos_content (id,title,introtext,fulltext,sectionid,hits) SELECT pn_sid,pn_title,pn_bodytext,pn_hometext,pn_topic,p n_counter FROM nuke_stories
Im Beispiel ist der Prefix von Mambo "mos_" und der von Postnuke "nuke_"
Bitte gegebenenfalls bei euch anpassen.
Kommen wir zur Spalte "fulltext" oder auch das Gegenstück dazu bei Postnuke "pn_hometext".
Mir war es nicht Möglich die Daten dieser spalte sauber zu übernehmen!!! Es gab immer folgende Fehlermeldung im phpmyadmin:
MySQL meldet:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '( id,
title,
introtext,
FULLTEXT ,
sectionid,
hits ) SELECT pn
Falls die Spaltennamen "fulltext" und "pn_hometext" entferne werden war eine erste Kopie der Daten möglich.
Ich kann nicht sagen woran der Fehler liegt. Im beiden betroffenden Spalten von Postnuke und Mambo sind keine besonderheiten zu finden!
Nach der ersten Übernahme der Daten von Postnuke nach Mambo waren diese bei mir aber noch nicht im Admin Menü sichtbar. Das lag wohl daran das viele Variablen der neuen Datensätze noch nicht vorhanden waren.
Ich habe deswegen in allen Datensätzen diese Änderung durchgeführt:
UPDATE `mos_content` SET `state` = '1',
`sectionid` = '1',
`catid` = '1',
`created` = '2004-08-02 23:30:41',
`created_by` = '62',
`modified` = '2004-08-02 23:30:41',
`modified_by` = '62',
`publish_up` = '2004-08-02 23:30:41',
`ordering` = '2' WHERE `id` = '256' LIMIT 1 ;
Hat aber den Nachteil das nun alle Texte in der gleichen Section sind, den gleichen Author haben und diese alle zur gleichen Zeit erstellt wurden.
Nun, nach dieser Änderung waren alle Texte im Adminbereich sichtbar.
OK, das ist sicher nur der Anfang für eine gute Beschreibung und die gesamte Umsetzung ist: ops:
Aber vielleicht kann ja jemand mit mehr mySQL Wissen den Scripten etwas nachhelfen.
Ich werde jedenfalls (falls gewünscht) in ein paar Tagen weitere SQL Befehle
posten um auch andere Informationen von Postnuke in Mambo zu übernehmen.
Zum Schluss noch die verwendete Software:
Postnuke 0.726
Mambo 4.5.9
phpmyadmin: 2.5.7 PL1
mySQL 4.0.19
Grüße
Andreas |