Sto creando una webapp che ha una varietà di modelli: prodotto, categoria, productOption, ecc.
Tutti questi modelli hanno una serie di attributi condivisi: nome, descrizione, immagine, ecc.
Ci sono due opzioni che vedo: 1. aggiungere tutti questi attributi come colonne a ciascuna tabella del modello. 2. crea una meta tabella separata che contenga queste colonne con una relazione polimorfica tra un modello e il meta.
Opzione 1:
products
id
...
name
description
image
product_categories
id
...
name
description
image
Opzione 2:
products
id
...
product_categories
id
...
metas
id
name
description
image
metaable_id // foreign key
metaable_type // model type (Product, ProductCategory)
C'è una decisione chiara qui? Mi mancano alcune alternative? Grazie.