0.3 Banco de Dados e Prisma
Criando as tabelas e gerando o Client Prisma.
Prisma ORM
Com o nosso banco de dados PostgreSQL rodando saudavelmente no contêiner do Docker (veja o guia anterior), nós precisamos criar as tabelas do seu projeto para que os usuários possam fazer login.
Nós usamos o Prisma ORM como a ponte entre o seu código TypeScript e as queries do Banco de Dados.
Gerando e Enviando as Tabelas
Toda a lógica de backend reside dentro de apps/api. No seu terminal, navegue até a pasta da API:
cd apps/api
1. Prisma Generate
O primeiro comando lê o arquivo schema.prisma e escreve as definições de Tipagem (@prisma/client) em seu projeto:
bun prisma generate
2. DB Push
Como estamos em fase inicial/desenvolvimento do seu SaaS, em vez de criarmos arquivos eternos de migração, passamos um comando direto para espelhar nosso modelo no banco:
bun prisma db push
Esse comando cria efetivamente a estrutura limpa de Usuários, Organizações (Tenants), Faturas e Assinaturas no seu PostgreSQL!
(Nota: Se o terminal der um aviso sobre loss of data, confirme com "y". Nós estamos criando o projeto agilizado no ambiente dev).
E está pronto!
Se você quiser espiar como está por debaixo do capô visualmente pelo DB, basta rodar bun prisma studio e uma aba abrirá em seu navegador.