4.0.1 - 21.07.2017¶
Dieses Release-Version behebt einen Fehler beim Speichern der Rechnungs- und Versandadresse. Beide Adressen landen in der gleichen Datenbanktabellen. Wegen eines fehlenden Discriminatorfeldes kann dann nicht mehr zwischen den beiden Adressen unterschieden werden.
Important
Ein neues Feld muss der Adresstabelle in der Datenbank hinzugefügt werden. Dieses Feld wird mit der Zeichenkette “billing” vorbelegt um im Backend die falsch gepflegten Adressen anzeigen lassen zu können. Alle neuere Bestellungen sollten ab jetzt richtig gespeichert werden.
Wer seine alten Bestellungen entsprechend aktualisieren möchte, kann folgende Queries (MySQL) ausführen.
Attention
Die erste Query zeigt nur die Bestellungen an, wo es mindestens zwei Adressen gibt. Gelöschte Adressen werden nicht angezeigt. Diese Query kann ohne Veränderung der Daten auf der Datenbank ausgeführt werden. Das Ergebnis sollte dazu genutzt werden, im Backend mindestens exemplarisch zu überprüfen, ob die gefundenen Bestellungen korrekt sind.
SELECT address_s.item, address_b.uid, address_b.discr, address_s.uid, address_s.discr FROM tx_cart_domain_model_order_address AS address_s LEFT JOIN tx_cart_domain_model_order_address AS address_b ON address_s.item = address_b.item WHERE address_b.uid < address_s.uid AND address_s.deleted = 0 AND address_b.deleted = 0 AND address_s.item > 0;
Danger
Die folgende Query verändert die Bestelldaten in der Datenbank. Ein Backup der Datenbank sollte unbedingt vor dem Ausführen erfolgen. Ziel dieser Query ist, für die zweiten Adressen einer Bestellung das neue Datenbankfeld auf “shipping” zu stellen, damit auch im Backend die Versandadresse richtig ausgegeben wird.
UPDATE tx_cart_domain_model_order_address as address_s LEFT JOIN tx_cart_domain_model_order_address as address_b ON address_b.item = address_s.item SET address_s.discr = "shipping" WHERE address_b.uid < address_s.uid AND address_b.deleted = 0 AND address_s.deleted = 0 AND address_b.item > 0;