Esta é uma pergunta sobre o desenvolvimento do Magento, que pode ser aplicada para M1 e M2.
Nas últimas semanas, estive trabalhando em vários módulos diretamente relacionados à tabela de entidades / banco de dados nativos do Magento.
Aqui está um exemplo, mas isso é válido para vários casos de desenvolvimento de módulos:
Um módulo que permite restringir uma regra de carrinho de compras para apenas um cliente (descrito pelo email).
Cheguei à conclusão de que existem duas maneiras possíveis de fazer isso e estou me perguntando qual seria a recomendada:
Primeira maneira: use as tabelas principais do Magento
Nunca edite o núcleo, isso é aplicável às tabelas principais?
- Adicione uma
email
coluna àsalesrule_rule
tabela - A aplicação da restrição pode ser feita quando o modelo é carregado.
Segunda maneira: use uma tabela personalizada
- Criar uma tabela personalizada com
salesrule_id
eemail
vinculada a um modelo personalizado - A aplicação da restrição pode ser feita com uma junção ou carregamento extra (do modelo personalizado)
Naquela época, eu costumava modificar sempre as tabelas principais diretamente, mas agora não acho que esse seja o caminho certo. No entanto, estou preocupado com o desempenho em relação à segunda maneira .
Qual é a melhor / recomendada maneira de lidar com isso?