Para un cliente, estoy tratando de construir un sistema de comercio electrónico mínimo. Habrá productos que pueden tener variaciones (piense en S, M, L) y cada variación puede tener un sistema de precios escalados según la cantidad que ordene el cliente:
Pero también puede haber productos sin variaciones y de precio fijo:
Y productos que no tienen variaciones sino un sistema de precios escalonados:
Estaba pensando en el siguiente esquema de base de datos:
¿Está bien hacer que product_variation_id sea anulable para lograr la flexibilidad deseada en las combinaciones entre precios y variaciones sin tener que agregar al menos una variación (estándar) para cada producto (cuando el producto no tiene variaciones)? ¿Alguna idea mejor? :)