Dies ist eine Frage zur Magento-Entwicklung, die sowohl für M1 als auch für M2 gelten kann.
In den letzten Wochen habe ich an mehreren Modulen gearbeitet, die in direktem Zusammenhang mit nativen Magento-Entitäten / Datenbanktabellen stehen.
Hier ist ein Beispiel, das jedoch für mehrere Modulentwicklungsfälle gilt:
Ein Modul, mit dem Sie eine Warenkorbregel nur für einen Kunden einschränken können (beschrieben in der E-Mail).
Ich bin zu dem Schluss gekommen, dass es zwei Möglichkeiten gibt, und ich frage mich, welche die empfohlene wäre:
Erster Weg: Verwenden Sie Magento-Kerntabellen
Bearbeiten Sie niemals den Kern. Gilt das für Kerntabellen?
- Fügen Sie
email
dersalesrule_rule
Tabelle eine Spalte hinzu - Das Anwenden der Einschränkung kann erfolgen, wenn das Modell geladen wird.
Zweiter Weg: Verwenden Sie eine benutzerdefinierte Tabelle
- Erstellen Sie eine benutzerdefinierte Tabelle mit einem benutzerdefinierten Modell
salesrule_id
undemail
verknüpfen Sie es mit einem benutzerdefinierten Modell - Das Anwenden der Einschränkung kann durch einen zusätzlichen Join oder Ladevorgang (des benutzerdefinierten Modells) erfolgen.
Zurück in den Tagen habe ich immer die Kerntabellen direkt zu ändern , aber jetzt fühle ich mich nicht wie das der richtige Weg ist. Ich bin jedoch besorgt über die Leistung in Bezug auf den zweiten Weg .
Was ist der beste / empfohlene Weg, um damit umzugehen?