これはMagentoの開発に関する質問です。M1とM2の両方に適用できます。
ここ数週間、ネイティブMagentoエンティティ/データベーステーブルに直接関連するいくつかのモジュールに取り組んできました。
次に例を示しますが、これはいくつかのモジュール開発の場合に有効です。
(電子メールで説明されている)1人の顧客のみのショッピングカートルールを制限できるモジュール。
私はそれを行うには2つの可能な方法があるという結論に達しました、そして私はどちらが推奨されるものであるか疑問に思っています:
最初の方法:Magentoコアテーブルを使用する
コアを編集しないでください。コアテーブルに適用できますか?
- テーブルに
email
列を追加するsalesrule_rule
- 制限の適用は、モデルが読み込まれたときに行うことができます。
2番目の方法:カスタムテーブルを使用する
- カスタムモデルを使用し
salesrule_id
てemail
リンクされたカスタムテーブルを作成する - 制限の適用は、(カスタムモデルの)追加の結合またはロードを実行することで実行できます。
戻る日に私はいつも直接コアテーブルを変更するために使用するが、今、これは正しい方法であるような気がしません。ただし、2番目の方法についてはパフォーマンスが心配です。
これに対処するための最良の/推奨される方法は何ですか?