Jump to content
xt:Commerce Community Forum
Sign in to follow this  
Novalis

Konvertierung Beta 1 (+2?) -> 2.0 Rc1

Recommended Posts

Hallo,

falls noch jemand in die Verlegenheit kommt, einen alten XTC-Shop umzusatteln von der Beta auf die 2.0 RC1 poste ich hier mal die H?rden die ich dabei habe / hatte und die entsprechenden L?sungen... wird wohl sowas wie eine HowTo wenn's fertig ist, und ich hoffe es ist f?r den ein oder anderen hilfreich.

Wenn jemand bessere L?sungen f?r die genannten Probleme hat dann immer her damit :D

---

Erstmal hab ich die DB-Daten konvertiert, habe meine alte DB genommen, alle relevanten Daten (Kunden, Produkte etc.) exportiert, mit Suchen & Ersetzen in's Format f?r 2.0RC1 gebracht, dort wieder importiert und h?ndisch alles weitere ausgeb?gelt... dirty work ;-)

---

Erstes Problem: Kein Login mehr m?glich... was steht da im Changelog? Plain MD5 Encryption #:-( an sich ja ganz sch?n, aber Tausende von Kunden haben ihr Passwort noch im alten Format, also die Datei /inc/xtc_validate_password.inc.php angeschaut und f?r alte und neue Version kompatibel gemacht:

 // This funstion validates a plain text password with an

 // encrpyted password

 function xtc_validate_password($plain, $encrypted) {

  if (xtc_not_null($plain) && xtc_not_null($encrypted)) {

	// check if it's an old pw.

	if (ereg(':', $encrypted)) {

    $stack = explode(':', $encrypted);

    if (sizeof($stack) != 2) return false;

    if (md5($stack[1] . $plain) == $stack[0]) {return true;}

	// if not, do plain md5

	} else {

     if ($encrypted!= md5($plain)){

      return false;

     } else {

      return true;

     }

	}

  }

  // if we're still here, return false

  return false;

 }

-# So, Shop aufrufen und schauen... ah ja, alle Bilder wech #also gesucht und gefunden (am besten mit rechtsklick->eigenschaften auf's fehlende Bild) und festgestellt da? sich die Speicherorte ge?ndert haben... also erstmal alle Bilder an die neuen Positionen verschoben... Gl?ck hat, wer seine ganzen Kategorie-Bilder vern?nftig benannt hat (also ich zB nicht :wall: ) --- So, die Produkt-Bilder alle raussuchen ist mir zu m?hsam, daher schnell nen PHP-Script gecodet der das ?bernimmt... und hier isser:
<?php


$db = "datenbankname";

$usr= "benutzername";

$pwd= "passwort";


mysql_connect  ('localhost',$usr,$pwd) or die ("Could not connect to MySQL");

mysql_select_db ($db) or die ("Could not select DB");


$query = "SELECT products_image FROM products";

$result = mysql_query($query) or die ("Query failed");


while ($row = mysql_fetch_array($result,MYSQL_NUM)){

foreach ($row as $value){

 if ($value != "") {

  echo "Kopiere ".$value."... ";

  copy ("C:/Pfad/zu/bisherigen/bildern/".$value, "D:/Pfad/zu/xtc20rc1/images/product_images/original_images/".$value);

  echo "erfolgreich!<br>";

  }else{

	echo "Kein Bild vorhanden, ?berspringe...<br>";

	}	

 }

}


?>

---

Das war's soweit, das Template muss man halt bissel umschrauben, aber dazu kann ich nix sagen, weil ich von einer fr?heren Beta-Version (aus Zeiten wo es noch keine Templates bei XTC gab) update, aber mein Shop l?uft mit den o.g. ?nderungen prima :-)

---

Wenn noch Schwierigkeiten auftauchen kommen sie hier rein =) Ansonsten - happy updating :)

Gru?,

Nov

Share this post


Link to post
Share on other sites

Danke f?r die Antwort,

also ich habe das nun einmal versucht mit der ?bertragung in eine neue Datenbank, also die User sind schon drin - DOCH wenn ich nun noch die Cat. hinzuf?gen will kommt dieser Fehler

INSERT INTO categories

VALUES ( 1, NULL , 0, 1, 0, '2004-02-12 20:49:37', NULL )

MySQL meldet:

#1136 - Column count doesn't match value count at row 1

Vielen Dank

Share this post


Link to post
Share on other sites

Originally posted by mzanier@Apr 4 2004, 20:46 PM

jo, weill in der neuen db mehr felder sind. am besten alte db um fehlende felder erg?nzen, dann geht das problemlos.

das war mein erster Gedanke.

Die gr??ten Probleme f?r einen Umstieg sind eigentlich nur die neue Speicherung der Passw?rter (die ja mit dem obigen Tipp gel?sst sind)

wie sieht das eigentlich aus....

kann man dieses obige Script nicht so erweitern, da? wenn sich ein Kunde mit dem "alten" Passwort einloggt sofort dieses Passwort in neuer Form gespeichert wird ? (w?rde bestimmt allen, die die BETA2 bisher nutzen den Umstieg seeehr erleichtern)

dann gibt es halt auch bei sp?teren Updates nie mehr ein Problem.

Share this post


Link to post
Share on other sites

Originally posted by mzanier@Apr 4 2004, 21:26 PM

man kann auch f?r den admin ein modul coden das allen ein neues pw zuschickt (unter XT-Module)

nunja... klar....

meine ?berlegung ist nur diese... warum den Kunden "verwirren" mit sie haben nun ein neues Passwort...(oder so...)

ich bef?hrchte, da? man damit viele Kunden verwirrt. Viele von unseren (bisher ?ber 400 ONLINE-Kunden seit 12/03) sind damit ?berfordert. Wenn es gehen w?rde vorhandene Passw?rter einfach ins neue Format zu konvertieren w?re sicherlich f?r alles die beste L?sung. Ob das machbar ist habe ich mit meinen geringen PHP-"Kenntnissen" keine Ahnung

Share this post


Link to post
Share on other sites

also mit dem Datenbank-Vergleichs-Tools SQLyog (siehe anderen Thread) ist die DB in 5 min angepasst (hat sich ja nicht viel ge?ndert) und mit dem angepassten Passwortabfragecode oben kann man seinen Shop schnell portieren. :)

Probleme macht die ?bernahme vom Content hab ich gerade gemerkt. Da scheint was bei der Contact_us an der ID ge?ndert worden zu sein, so das das sich jetzt mit anderem Content ?berschneidet.

Sonst ist mir gerade noch aufgefallen, das der Templatenpfad in der Druckansicht f?r Rechnungen (im Kundenaccount) immer noch nicht stimmt (Standardm??zig zu XTC verlinkt).

Share this post


Link to post
Share on other sites

Hallo,

ich habe nun meine alte Datenbank mit SQLyog abgegliechen, doch nun hat meine alte Datenbank nicht wie die neue 74 sondern nur 72 Tabellen. Wenn ich den Shop aufrufe, sehe ich auch keine Artikel, keine Kunden nichts. Hab ich was falsch gemacht ?

Vielen Dank

Fire

Share this post


Link to post
Share on other sites

Hallo,

habe mal einen kleinen Datenkonverter geschrieben,

ihr braucht nur die alte und die neue Datenbank angeben,

den Rest erledigt das Script. :D

das Script gibs hier:

http://www.2save4you.de/xtc.txt

Anmerkung: es wird alles (Datenbank) vom alten Shopsystem ?bertragen die Daten im neuen Shopsystem werden vorher gel?scht.

Falls sich jemand erkenntlich zeigen will: http://www.amazon.de/exec/obidos/wishlist/...BE/ref=wl_em_to

Viel Spa? :rock:

J?rg

Share this post


Link to post
Share on other sites

hab das script durchlaufen lassen, alle daten wurden neu angelegt, nur die tabelle products hat folgende fehlermeldug:

#1016 - Can't open file: 'products.MYI'. (errno: 144)

Share this post


Link to post
Share on other sites

tja dann ist deine datenbank hin?ber und du musst sie reparieren.

bzw deinen hoster dies mitteilen und der muss mit myisamchk deine datenbank wieder in ordnung bringen.

wenn du lokal arbeitest dann kannst ja selbst das mit

myisamchk -o /usr/local/mysql/data/deine db/*.MYI

machen

Share this post


Link to post
Share on other sites

super script, hat jetzt tadellos geklappt, nur die categorie-bilder werden nicht gefunden, jetzt gibt es ja einen neuen ordner images/categories. wo lagen denn diese bilder in der alten version?

Share this post


Link to post
Share on other sites

Habe versucht die Datenbanken abzugleichen. Funktioniert nur irgendwie nicht.

Habe beide Datenbanken (alter und neuer Shop) in einer Datenbank auf dem Server und unterscheiden sich im Prefix.

Beispiel:

alt_address_book (f?r alte Datei)

neu_ address_book (f?r neue Datei)

Habe aus dem Script von Hackwell eine PHP Datei erstellt (wundere mich nur wie das Script wissen will welche Datenbank ?berhaupt erst angesprochen werden soll)

Habe die Datenbank- Connect Daten User und Passwort eingegeben und bei db_neu und db_alt die prefixe eingegeben

$con_id = mysql_pconnect ("localhost","user","passwort");

$db_neu = "neu";

$db_alt = "alt";

Habe dann das php Script aufgerufen in der das Script von Hackwell ist und es kommt auch fertig, nur es tut sich bei den neuen Datenbanken eigentlich garnichts.

Entweder habe ich jetzt einen Denkfehler oder es funktioniert bei mir wirklich nicht.

Gru? Ingo

Share this post


Link to post
Share on other sites

Hallo,

nunja, ich habe das Script tats?chlich nur auf Shopupdates die ?ber zwei Datenbanken und ohne Tabellenprefix laufen ausgelegt, aber es ist kein Problem das Script dementsprechen anzupassen. :grml:

Beispiel:

mysql_query ("insert into $db_neu.".$prefix_neu."address_book select * from $db_alt.".$prefix_alt."address_book ",$con_id); // address_book

Jetzt einfach bei den Datenbankvariablen die gleiche Datenbank angeben und

die jeweiligen Prefixe definieren.

J?rg

Share this post


Link to post
Share on other sites

Hallo,

mist jetzt habe ich die Datenbanken abgeglichen und beim Start des Shops kommt folgende Fehlermeldung.

Fatal error: Failed opening required '/homepages/22/d72142296/htdocs/xtcommerce2rc1/templates/CURRENT_TEMPLATE/source/boxes.php' (include_path='.:/usr/local/lib/php') in /homepages/22/d72142296/htdocs/xtcommerce2rc1/index.php on line 28

K?nnt ihr da was mit anfangen ???

Gru? Ingo

Share this post


Link to post
Share on other sites

Hallo,

ich gebs auf !!!

Hat jemand Lust 2 Datenbanken abzugleichen und zwar von Beta 1 auf RC1, sonst wird das nie was.

Brauch die Person auch nicht umsonst machen ??? Wenn es geht relativ schnell, da ich ?ber Ostern einiges machen wollte.

Gru? Ingo

Share this post


Link to post
Share on other sites

@mzanier

Sag mal was w?rde das eigentlich kosten, wenn Du den Shop einigermassen professionell gestalten w?rdest.

Wir wollen n?mlich in diesen Monat richtig loslegen ??? Auch mit PC systemen speziell f?r Gamer.

Habe Server bei 1 und 1

K?nnte dir die FTP Log Dateien und die Datenbank Anbindung zusenden.

Gru? Ingo

Share this post


Link to post
Share on other sites

Hallo IngoLAO,

hatte gar nicht gesehen dass du mZanier fragtest =) Ich hab dir jedenfalls ne PM geschrieben :)

-#-#---

Allgemeine Anmerkung nochmal an Alle die ihre Shops updaten wollen:

Ein Update der Datenbank setzt weitergehende SQL-Kenntnisse und einige Kenntnisse ?ber MySQL voraus. 'So mal eben' geht das nicht.

Die Templates m?ssen neu gestrickt werden... in der BETA 1 gab es noch gar kein Template-System in dem Sinne, und es hat sich dort auch einiges ge?ndert seit BETA 2. Auch hier muss man Ahnung von der Materie haben (HTML, PHP, Smarty), sonst verzweifelt man irgendwann...

Eine DAU-Anleitung w?re sch?n, ist aber fast unm?glich wie ich finde, da man 1000 Sachen beachten muss - das geht leider nur mit Erfahrung ;-)

Ich weiss net ob mZanier Zeit findet einen Update-Script zu schreiben. Wenn ja muss man halt darauf warten, wenn nein muss man es selbst versuchen nach meiner Anleitung oben -> oder halt jemanden beauftragen der das gegen Geld macht.

Davon lebt Open Source nunmal - Da? die Software kostenlos ist, der Support allerdings nicht... und das ist auch gut so :D

Gru?,

Nov

Share this post


Link to post
Share on other sites
Guest manfred

Also ich habe auch versucht, mit dem Script die Datenbank zu konvertieren. Zum Gl?ck hatte ich vorher eine Sicherung gemacht, denn anschliessend ging gar nichts mehr, nicht der neue und nicht der alte Shop. Zum Gl?ck habe die von Tower-House meine Daten wiederhergestellt. Also ich habs auch aufgegeben, wird mir auch nichts anderes ?brig bleiben, als alles neu zu installieren.

Share this post


Link to post
Share on other sites

Ja, setzt bloss nicht das Update-Script auf ner vorhandenen DB ein. Das zerschiesst Euch alle neuen Eintr?ge in der Configure, da es nur den alten Datenbestand r?berkopiert.

So gehts am einfachsten:

Mit SQLyog passt ihr die DB-Struktur der alten DB der neuen Struktur an (Synchronise to Clipboard und das dann im Befehlsfenster durchf?hren; Die Admin-Access Befehle m?sst ihr umarbeiten und alle DROP Tables ans Ende der zugeh?rigen Befehlskette setzen, da das Script sonst erst eine Tabelle l?scht und danach dann hinter dieser eine neue einf?gen will (und da stoppt das script dann nat?rlich).

Dann k?nnt ihr einfach mit PHPmyadmin alle Daten BIS AUF DIE CONFIGURE in die neue DB importieren (da die Strukturen nun ja identisch sind).

Die Anpassung der Configure erfordert entweder ein eigenes Script, viel Handarbeit oder einfach nochmal neu eingeben...

Share this post


Link to post
Share on other sites
Guest manfred

Mit SQLyog hab ich es auch versucht, hab aber keinen Plan wie das richtig funktioniert, also werd ich doch alles neu hochladen. Muss mir nur wieder die Arbeit machen die Datenbankstruktur rauszusuchen.

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...