Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Tabellendesign customer_basket und customers_basket_attributes

    webald

    • modified Team
    • Beiträge: 2.791
    Ich wollte eigentlich nicht noch eine Frage zum DB-Aufbau posten, aber das ist doch ziemlich strange.

    Tabelle customers_basket:
    products_id ist tinytext, obwohl products_id in Tabelle products ein int-Feld ist
    Dann warum tinytext und nicht varchar(255)?
    customers_basket_quantity ist ein int-Feld statt logischerweise decimal => keine Eingabe Dezimalzahlen möglich, z. B. Meterware.
    customers_basket_date_added hat als Datentyp char(8 ), stellt aber ein Datum dar. Außer "schnell" fällt mir dazu kein Grund ein.

    Tabelle customers_basket_attributes:
    products_id ist tinytext, obwohl products_id in Tabelle products ein int-Feld ist
    products_id enthält aber nicht nur die products_id alleine, sondern auch die productsoptions undderen values, obwohl in der gleichen Tabelle dafür separate Spalten existieren und benutzt werden.

    Mir ist klar, dass man das jetzt nicht einfach mal so ändern kann, aber - achtung böses Thema -  mit einer Roadmap und dem Hinweis in der nächsten Version alt und neu anzubieten und in der übernaächsten di ate Version zu löschen, könnte man da einiges auf den richtigen Weg bringen. Alte Module und Erweiterungen können so lange genutzt werden und es ist klar wo man neue Entwicklungen anzusetzen hat.

    Linkback: https://www.modified-shop.org/forum/index.php?topic=32337.0
    Managed Server

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.991
    • Geschlecht:
    Re: Tabellendesign customer_basket und customers_basket_attributes
    Antwort #1 am: 23. Februar 2015, 20:08:48
    Du webald, ich denke, daß das wichtige Dinge sind die du da so entdeckst.
    Das geht aber hier in Threads unter. Ich meine du solltest entweder den "Moderator informieren"-Button benutzen oder, viel besser, Tickets dafür anlegen.
    Das ist keine große Arbeit weil du in dem Ticket in den Fällen wo du bereits einen Thread für das Thema hast nur eine Überschrift für das Ticket benötigst und dann auf den Thread verlinken kannst ohne alles nochmals zu erläutern.

    Der Thread an sich ist natürlich gut weil sich das andere noch anschauen können.

    Zum Thema:
    Kann dir in fast allem nur beipflichten, bis auf eines.
    Die products_id in der Tabelle customers_basket_attributes hat soweit ich weiß diese Form:
    PRODUCTS_ID{PRODUCTS_OPTIONS_ID}PRODUCTS_OPTIONS_VALUE_ID
    oder als Beispiel für zwei Attribute
    12{2}5{3}6
    (siehe Funktion xtc_get_uprid()).
    Das wird für den Ablauf macher Funktionen im Shop benötigt, das zu ändern wäre aufwändig.

    Gruß,
    noRiddle

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Tabellendesign customer_basket und customers_basket_attributes
    Antwort #2 am: 23. Februar 2015, 21:47:02
    @noRiddle
    also ich lege Tickets ungern auf Verdacht an und lass dann gerne andere Ihre Meinung zu sagen und verifizieren. Danach trage ich das dann eigentlich schon ein. Aber es gibt halt Sachen da bin ich nicht genug drin.

    web28

    • modified Team
    • Beiträge: 9.404
    Re: Tabellendesign customer_basket und customers_basket_attributes
    Antwort #3 am: 24. Februar 2015, 16:01:40
    PRODUCTS_ID{PRODUCTS_OPTIONS_ID}PRODUCTS_OPTIONS_VALUE_ID

    Damit wäre es möglich, aus dem Warenkorb zum Artikel mit den vorausgewählten Attributen schalten.
    Das hat aber noch niemand programmiert.

    Gruss Web28

    webald

    • modified Team
    • Beiträge: 2.791
    Re: Tabellendesign customer_basket und customers_basket_attributes
    Antwort #4 am: 24. Februar 2015, 16:19:46
    Also es ist zum einen noc nirgends vorhanden, zum anderen kann ich diese Stringkombination ja auch aus den Feldern products_id int, products_options_id int und products_options_value_id int zusammensetzen und muss dafür nicht für products_id in der Datenbank je nach Tabelle unterschiedliche Datetypen haben, die ich dann auch nicht ohne weiteres über Joins inSQL-Abfragen verbinden kann.

    Was schwerer wiegt ist aber die Tatsache, dass dieses Konstrukt im Shop im Code verwendet wird und man da wohl ne Menge umschreiben müßte.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.991
    • Geschlecht:
    Re: Tabellendesign customer_basket und customers_basket_attributes
    Antwort #5 am: 24. Februar 2015, 22:47:00
    ...
    Was schwerer wiegt ist aber die Tatsache, dass dieses Konstrukt im Shop im Code verwendet wird und man da wohl ne Menge umschreiben müßte.

    Genau, ist z.B. in $new_products_id_in_cart und somit in $_SESSION['new_products_id_in_cart'] gespeichert.

    Gut, hätte man die Zeit könnte man das ändern, muß dabei aber sehr gut aufpassen, daß man nichts übersieht.

    Gruß,
    noRiddle
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
    1 Antworten
    1678 Aufrufe
    03. August 2012, 00:07:54 von MarcusS81
    22 Antworten
    8944 Aufrufe
    23. Februar 2015, 07:35:41 von webald
    2 Antworten
    2278 Aufrufe
    15. April 2015, 13:27:20 von webald
               
    anything