Moinsen,
ich habe jetzt mal eine Anleitung verfasst, die das PhocaGuestbook in ein leeres EasyBookReloaded (EBR) konvertiert.
Diese Anleitung basiert auf der Anleitung von Benjamin Malte Meyer, in der die Konvertierung genau andersrum beschrieben wird.
www.meier-benjamin.de/blog/items/migrati...ook-fuer-joomla.html
Voraussetzung: PhocaGuestbook ist installiert und mit Einträgen gefüllt, das EasyBookRelaoded 2.0.6 ist installiert und leer. Achtung: Bestehende Einträge im EasyBookReloaded werden gelöscht.
Doppel Achtung: Vor jeder Änderung an der Datenbank ist ein Backup / SQL Dump Pflicht.
In PHPmyAdmin den Menüpunkt SQL aufrufen und folgenden Syntax einfügen:
DROP TABLE IF EXISTS `j25_easybook`;
CREATE TABLE `jos_easybook` (
`id` int( 11 ) unsigned NOT NULL AUTO_INCREMENT ,
`catid` int( 11 ) NOT NULL DEFAULT '0',
`sid` int( 11 ) NOT NULL DEFAULT '0',
`username` varchar( 100 ) NOT NULL DEFAULT '',
`userid` int( 11 ) NOT NULL DEFAULT '0',
`email` varchar( 50 ) NOT NULL DEFAULT '',
`homesite` varchar( 50 ) NOT NULL DEFAULT '',
`ip` varchar( 20 ) NOT NULL DEFAULT '',
`title` varchar( 200 ) NOT NULL DEFAULT '',
`content` text NOT NULL ,
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`published` tinyint( 1 ) NOT NULL DEFAULT '0',
`checked_out` int( 11 ) NOT NULL DEFAULT '0',
`checked_out_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`ordering` int( 11 ) NOT NULL DEFAULT '0',
`params` text NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MyISAM DEFAULT CHARSET = utf8;
INSERT INTO `j25_easybook` SELECT * FROM `jos_phocaguestbook_items`;
Nach einem Klick auf OK wird die Abfrage durchgeführt und sollte ohne Probleme durchlaufen.
Folgendes passiert: Die SQL Abfrage kopiert alle Daten und die Struktur der Tabelle jos_phocaguestbook_items in die Tabelle jos_easybook. Vorher werden alle Daten aus der Tabelle jos_easybook gelöscht.
Jetzt müssen natürlich die Felder angepasst werden:
ALTER TABLE `jos_easybook`
CHANGE `id` `id` INT( 10 ) NOT NULL AUTO_INCREMENT,
CHANGE `username` `gbname` VARCHAR( 40 ) NOT NULL DEFAULT '',
CHANGE `email` `gbmail` VARCHAR( 60 ) DEFAULT 'Null',
CHANGE `homesite` `gbpage` VARCHAR( 150 ) DEFAULT 'NULL',
CHANGE `ip` `gbip` VARCHAR( 15 ) NOT NULL DEFAULT '' AFTER `id`,
CHANGE `content` `gbtext` text NOT NULL,
CHANGE `date` `gbdate` datetime;
Folgendes passiert: Bestehende Felder aus dem kopierten PhocaGuestbook werden umbenannt und in ihren Eigenschaften an das EasyBookReloaded angepasst.
Jetzt können wir den Titel, der im Phocaguestbook ja seperat gespeichert wurde, in dem EasyBookReloaded Text hinzufügen:
UPDATE `jos_easybook`
SET `gbtext` = CONCAT(`title`,' - ',`gbtext`)
WHERE `title` != '';
Jetzt müssen noch die zusätzlichen Felder gelöscht werden:
ALTER TABLE `jos_easybook`
DROP `catid`,
DROP `sid`,
DROP `userid`,
DROP `title`,
DROP `checked_out`,
DROP `checked_out_time`,
DROP `ordering`,
DROP `params`;
Folgendes passiert: Felder, die im Phoca Guestbook vorkamen, werden einfach im EBR gelöscht
Und nun noch zusätzliche Felder hinzufügen:
ALTER TABLE `jos_easybook`
ADD `gbmailshow` tinyint( 1 ) NOT NULL default '0' AFTER `gbmail`,
ADD `gbloca` VARCHAR( 50 ) default '' AFTER `gbmailshow`,
ADD `gbvote` INT( 10 ) default '5' AFTER `gbpage`,
ADD `gbcomment` text default '' AFTER `gbdate`,
ADD `gbicq` VARCHAR( 20 ) default '' AFTER `published`,
ADD `gbaim` VARCHAR( 50 ) default '' AFTER `gbicq`,
ADD `gbmsn` VARCHAR( 50 ) default '' AFTER `gbaim`,
ADD `gbyah` VARCHAR( 50 ) default '' AFTER `gbmsn`,
ADD `gbskype` VARCHAR( 50 ) default '' AFTER `gbyah`;
Folgendes passiert: Einige Felder, die es im Phoca Guestbook nicht gibt, müssen nun zum EBR wieder hinzugefügt werden.
Die <p>'s wegmachen:
UPDATE `jos_easybook`
SET `gbtext` = REPLACE(`gbtext`,'<p>',''),
`gbtext` = REPLACE(`gbtext`,'</p>','');
Folgendes passiert: Im Phoca Guestbook werden Absetze als <p> gespeichert, und das führt im EBR zu sehr großen Absätzen.
Was noch fehlt:
Vllt hat jemand eine Idee, wie man die Kommentare aus der vorherigen Konvertierung vom alten EasyBook in Phoca Guestbook aus dem Content im Phoca wieder rausholt.
Das ganze ist ohne Gewähr! Wenn es schiefgeht, wird sich PHPmyAdmin schon melden.
Bin mal gespannt auf die Rückmeldung.....
Danke Benjamin, vllt kannst du ja nochmal rübergucken
Viel Erfolg,
deltapapa
Edit: Vllt könnte man die Überschrift verändern, oder soll ich das als neues Thema eröffnen?