Exato, no caso sua ideia seria adicionar colunas pra cada funcionalidade?
Por exemplo tabela de planos contendo:
nome, usuarios, email_personalizado, dominio_proprio, notas_fiscais_mes, armazenamento
Enquanto a segunda opção seria:
nome, funcionalidades
- Onde funcionalidades será um json com cada coluna utilizada anteriormente, pra ficar mais flexível.
E na terceira opção:
Tabela planos contendo apenas o nome
, tabela funcionalidades contendo nome, descricao, valor
e outra tabela pra relacionar plano e funcionalidades.
--
Independente das opções acima, na tabela de tenants vai haver uma coluna plano_id
pra fazer a relação.
Pra pegar a data de expiração pensei em uma tabela a parte com o nome de assinaturas onde irá conter as colunas tenant_id, plano_id, assinatura_efetuada_em, expira_em
pra manter os logs de assinaturas.