Mandanten kopieren fehlerhaft?

Gesperrt
StephanSchmidt
Beiträge: 29
Registriert: Mo 9. Feb 2004, 10:31
Wohnort: Berlin
Kontaktdaten:

Mandanten kopieren fehlerhaft?

Beitrag von StephanSchmidt »

Hallo,

ich benutze version 2.3 vom script zum mandanten kopieren. Er kopiert alles ausser artikel, wenn ich in der db nachsehe, fehlen zum neuen mandanten die eintraege in con_art_lang, die in con_art existieren. Die ausgabe beim kopieren zeigt an, dass die artikel kopiert wurden.

Kann es sein, dass das daran liegt, dass falsche INSERTs erzeugt werden? IMHO sollte man bei INSERT nicht "INSERT VALUES (...)" benutzen, sondern "INSERT (...) VALUES (...)". Die Reihenfolge kann sich durch dumps (mysqldump) und backups aendern.

Andere Ideen fuer die Ursache?

bye
-stephan
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

welche contenido version ?
*** make your own tools (wishlist :: thx)
StephanSchmidt
Beiträge: 29
Registriert: Mo 9. Feb 2004, 10:31
Wohnort: Berlin
Kontaktdaten:

Beitrag von StephanSchmidt »

Release: 4.4.4
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

es wäre möglich das es an der reihenfolge liegt...
momentan kann ich (noch) nichts weiter dazu sagen (leider)...
man müsste zuerst im script ne debug funktion einbauen und sich dann alle insert queries ansehen, was daran nicht stimmt... aber das erfordert zeit die ich leider momentan nicht habe...
*** make your own tools (wishlist :: thx)
StephanSchmidt
Beiträge: 29
Registriert: Mo 9. Feb 2004, 10:31
Wohnort: Berlin
Kontaktdaten:

Beitrag von StephanSchmidt »

Danke dir, ich schaue mal.

Ja, mit der Zeit, das kenne ich :-)

Eventuell helfen euch Referenzen:

- Aktuell betreiben wir etwa 10 Contenido Clienten, z.B. Rotaract Deutschland, Interact Deutschland und Rotaract Europa.
Axel
Beiträge: 82
Registriert: Di 26. Aug 2003, 08:35
Kontaktdaten:

Beitrag von Axel »

Hallo StephanSchmidt...

Du schreibst, das die Ausgabe des Scriptes anzeigt, dass die Artikel kopiert wurden. Das Script bestätigt sowohl die neuen Einträge in der Tabelle con_art als auch in con_art_lang - jeweils mit dem Text "Es wurden [zahl]... neue Einträge in der Tabelle [...] erzeugt". Was steht in den beiden Ausgabezeilen bei dir bei [Zahl]?

Wenn da eine 0 steht, dann ist die idlang des "alten" Mandanten die Ursache, denn der Kopiervorgang der Tabelle con_art_lang startet mit allen Einträgen der mit idlang=$merk_idlang_old. Gibt diese SQL-Abfrage nichts zurück, dann stimmt da was nicht (ist zwar sehr unwahrscheinlich, aber prüf doch mal, ob die idlang des zu kopierenden Mandanten auch korrekt in der Tabelle con_art_lang steht)

Was die Reihenfolge der Felder bei der INSERT-Anweisung angeht:
In der Tabelle con_art wird für die neuen Artikel der Wert idart für den neuen Mandanten erzeugt. Die idart ist vom Wert her gleich der idartlang der Tabelle con_art_lang.
In der Tabelle id_art_lang wird also kein neuer Wert erzeugt, sondern die gleiche idart reingeschrieben, wie in der Tabelle con_art. Du schreibts, dass in der Tabelle con_art die neuen Einträge drin sind, nicht aber in der Tabelle con_art_lang.
In der Tabelle con_art_lang werden die ersten 3 Felder "manuell" mit den neuen Werten belegt (Zeile 876 im Script), alle anderen werden in der original-Reihenfolge der Tabelle con_art_lang ausgelesen, wobei in den ersten beiden Feldern der gleiche Wert eingetragen wird (die neue idart). Wenn also die Reihenfolge der Felder im INSERT der Grund sein sollte, so kann es nur am dritten Feld liegen - das sollte das Feld idlang sein.
Prüfe bitte mal, ob in deiner Tabelle con_art_lang das dritte Feld "idlang" ist.

Gibts denn sonst keine Fehlermeldung - z.B. im errorLog?[/list]
Gesperrt