Este guia explica como configurar o banco de dados local quando as tabelas foram deletadas ou quando você está configurando o ambiente pela primeira vez.
Os comandos do Prisma DEVEM ser executados no diretório do BACKEND, não no frontend!
npx prisma migrate no diretório carlosgatti.github.io (frontend)npx prisma migrate no diretório boxhub-nest-api (backend)Se você está no diretório do frontend (carlosgatti.github.io), navegue para o backend:
# Assumindo que o backend está no mesmo nível do frontend
cd ../boxhub-nest-api
# OU se o backend está em outro local, ajuste o caminho:
cd /caminho/para/boxhub-nest-api
O Prisma schema (schema.prisma) está apenas no backend, não no frontend!
boxhub-nest-api)Certifique-se de que o banco de dados está rodando:
# PostgreSQL
psql -U seu_usuario -d seu_banco
# MySQL
mysql -u seu_usuario -p seu_banco
⚠️ CRÍTICO: Você DEVE estar no diretório do backend para executar estes comandos!
# 1. Navegar para o diretório do backend
cd ../boxhub-nest-api
# OU ajuste o caminho conforme sua estrutura de diretórios
# 2. Verificar se o schema.prisma existe
ls prisma/schema.prisma
# Se não existir, você está no diretório errado!
# 3. Gerar o Prisma Client
npx prisma generate
# 4. Aplicar todas as migrações
npx prisma migrate deploy
# OU criar uma nova migração se necessário
npx prisma migrate dev
⚠️ IMPORTANTE: Execute primeiro a seed de Apps, depois a seed de Assets!
Os apps são necessários para o sistema de controle de acesso funcionar. Execute ANTES de criar usuários:
Opção A: Script TypeScript (Recomendado)
# No diretório do backend
npx ts-node ../carlosgatti.github.io/docs/02-setup/platform/seed-apps.ts
# OU se estiver no diretório do frontend
cd docs/02-setup/platform
npx ts-node seed-apps.ts
Opção B: SQL Direto
# PostgreSQL
psql -U seu_usuario -d seu_banco -f docs/02-setup/platform/seed-apps.sql
# MySQL
mysql -u seu_usuario -p seu_banco < docs/02-setup/platform/seed-apps.sql
Apps que serão criados:
WEALTH_TRACKER - Sistema de rastreamento de patrimônioDISCARD_ME - Marketplace comunitárioQRACK - Sistema de inventário com QR codesExecute o seed de assets principais:
Opção A: Script TypeScript (Recomendado)
# No diretório do backend
npx ts-node ../carlosgatti.github.io/docs/02-setup/apps/wealth-tracker/seed-assets.ts
# OU se estiver no diretório do frontend
cd docs/02-setup/apps/wealth-tracker
npx ts-node seed-assets.ts
Opção B: SQL Direto
# PostgreSQL
psql -U seu_usuario -d seu_banco -f docs/02-setup/apps/wealth-tracker/seed-assets.sql
# MySQL
mysql -u seu_usuario -p seu_banco < docs/02-setup/apps/wealth-tracker/seed-assets.sql
Verifique se as tabelas foram criadas corretamente:
-- PostgreSQL
\dt
-- MySQL
SHOW TABLES;
Você deve ver tabelas como:
App (apps do sistema)UserPortfolioAssetHoldingTransactionCashflowCategoryCashflowEntryCashflowRecurringVerifique se os apps e assets foram inseridos:
-- Verificar apps (deve ter pelo menos 3: WEALTH_TRACKER, DISCARD_ME, QRACK)
SELECT code, name FROM "App" ORDER BY code;
-- Verificar assets
SELECT COUNT(*) FROM "Asset";
-- Verificar categorias de cashflow
SELECT COUNT(*) FROM "CashflowCategory";
Se você precisa recriar o banco completamente:
# No diretório do backend
npx prisma migrate reset
# Isso vai:
# 1. Deletar todas as tabelas
# 2. Recriar o schema
# 3. Aplicar todas as migrações
# 4. Executar o seed (se configurado)
# No diretório do backend
npx ts-node ../carlosgatti.github.io/docs/02-setup/platform/seed-apps.ts
# No diretório do backend
npx ts-node ../carlosgatti.github.io/docs/02-setup/apps/wealth-tracker/seed-assets.ts
Certifique-se de que o .env do backend está configurado:
DATABASE_URL="postgresql://usuario:senha@localhost:5432/wealth_tracker"
# OU
DATABASE_URL="mysql://usuario:senha@localhost:3306/wealth_tracker"
Causa: Você está tentando executar comandos Prisma no diretório errado (frontend).
Solução:
pwd
carlosgatti.github.io (frontend), navegue para o backend:
cd ../boxhub-nest-api
# OU ajuste o caminho conforme necessário
ls prisma/schema.prisma
# PostgreSQL
pg_isready
# MySQL
mysqladmin ping
DATABASE_URL no .env do backendnpx prisma migrate reset (no diretório do backend)# No diretório do backend
npx prisma migrate resolve --rolled-back <migration_name>
⚠️ Todos estes comandos devem ser executados no diretório do backend (boxhub-nest-api)!
# 1. Navegar para o backend
cd ../boxhub-nest-api
# 2. Ver status das migrações
npx prisma migrate status
# 3. Ver schema atual
npx prisma db pull
# 4. Gerar Prisma Client
npx prisma generate
# 5. Abrir Prisma Studio (GUI)
npx prisma studio
Após configurar o banco, verifique:
DATABASE_URL está configurada corretamentenpx prisma migrate status)SELECT code FROM "App" - deve ter WEALTH_TRACKER, DISCARD_ME, QRACK)SELECT COUNT(*) FROM "Asset")Nota: Este guia assume que você está usando Prisma no backend. Se estiver usando outro ORM, ajuste os comandos conforme necessário.