Pessoalmente eu escolheria primeiro criar uma tabela para funcionalidades e depois uma tabela associando as funcionalidades com os usuário, pra facilitar pesquisas caso precise, mas não est á errado se achar que é adequado para o tamanho e as funcionalidades da sua aplicação manda bala
Agradeço pela resposta, Tiago!
Você está falando sobre associar diretamente os tenants às funcionalidades?
Atualmente, meu cenário é o seguinte:
Tenant 01 está no plano Básico, que permite o cadastro de até 5 usuários por mês.
Se Tenant 01 estivesse no plano Médio, ele poderia cadastrar até 10 usuários por mês. Este padrão se repete para os outros planos, onde cada plano tem seu próprio limite de usuários que podem ser cadastrados mensalmente.
A ideia é ajustar as funcionalidades disponíveis para cada tenant com base no plano ao qual ele está associado. Ou seja, preciso ter o fluxo de Tenant -> Plano -> Funcionalidades.
Pensei também ná ideia de criar 3 tabelas, uma pra tenant, outra pra planos e remover a coluna funcionalidades de planos e criar uma tabela funcionalidades, vinculando com planos, mas acreditaria que seria consultas a mais né? Aí seria mais simples colocar o json na tabela planos diretamente