Hallo zusammen,
habe mal einen Fehler endeckt muss aber erst den Abgleich mit JTL
WAWI testen:
Habe nun alle
connector tabellen manuell im SQL aufgeteilt.
Bei der products gab es 9 duplicate keys bei der endpointID und das hat das insert statement zum absturz gebracht.
Weiters sind in der jtl_connector_link bei payment (type=512) alphanumerische Werte drin die neue payment tabelle ist aber mit endpointID int angelegt was wiederum das sql statement zum absturz bringt. ich habe jetzt bei payment (512) die endpointID auf varchar(255) wie bei den anderen tabellen geändert.
Ich frage mich ob nich dann die Abfrage im PHP2.1.php verkehrt ist:
foreach($types as $id => $name) {
if ($id == 16 || $id == 64) {
$db->query(sprintf($queryChar, 'jtl_connector_link_'.$name));
} else {
$db->query(sprintf($queryInt, 'jtl_connector_link_'.$name));
}
}
die nur für products (64) und images (16) endpointid als varchar255 anlegt. in diesen tabellen finden sich in der alten connector link nur numerische Werte.
mit type 512 jedoch alphnumerische Werte.
Also das Migrationsprogramm ist nicht robust genug um duplicates abzufangen und verwendet eine "falsche" Spaltendeklaration die nicht zur ursprünglichen connector_link passt.
Poste noch ob der Abgleich jetzt läuft
auch ja hier das Skript zum Aufteilen:
INSERT INTO jtl_connector_link_category (host_id, endpoint_id)
SELECT hostId, endpointId FROM jtl_connector_link WHERE type = 1
INSERT INTO jtl_connector_link_product (host_id, endpoint_id)
SELECT hostId, endpointId FROM jtl_connector_link WHERE type = 64
INSERT INTO jtl_connector_link_delivery_note (host_id, endpoint_id)
SELECT hostId, endpointId FROM jtl_connector_link WHERE type = 8
INSERT INTO jtl_connector_link_image (host_id, endpoint_id)
SELECT hostId, endpointId FROM jtl_connector_link WHERE type = 16
INSERT INTO jtl_connector_link_payment (host_id, endpoint_id)
SELECT hostId, endpointId FROM jtl_connector_link WHERE type = 512
INSERT INTO jtl_connector_link_crossselling (host_id, endpoint_id)
SELECT hostId, endpointId FROM jtl_connector_link WHERE type = 1024
INSERT INTO jtl_connector_link_customer (host_id, endpoint_id)
SELECT hostId, endpointId FROM jtl_connector_link WHERE type = 2
INSERT INTO jtl_connector_link_customer_order (host_id, endpoint_id)
SELECT hostId, endpointId FROM jtl_connector_link WHERE type = 4
INSERT INTO jtl_connector_link_manufacturer (host_id, endpoint_id)
SELECT hostId, endpointId FROM jtl_connector_link WHERE type = 32
INSERT INTO jtl_connector_link_crossselling_group (host_id, endpoint_id)
SELECT hostId, endpointId FROM jtl_connector_link WHERE type = 2048