Este projeto usa Prisma ORM com PostgreSQL.
Aqui está o fluxo básico para mexer no banco sem dor de cabeça.
Quando você roda:
npx prisma generateou quando você roda uma migração:
npx prisma migrate devo Prisma cria o Prisma Client (em node_modules/@prisma/client).
Esse client contém uma classe PrismaClient com propriedades baseadas em cada model que existe no schema.
No exemplo acima, como existe model User, o client vai gerar algo equivalente a:
class PrismaClient {
user: {
create(...)
findMany(...)
findUnique(...)
update(...)
delete(...)
// etc
}
// Se tivesse outro model:
// post: { create, findMany, ... }
}pnpm install
npx prisma migrate devIsso aplica todas as migrations no seu banco local e gera o Prisma Client.
- Edite o
prisma/schema.prisma. - Gere a migration + aplique no banco local:
Exemplo:
npx prisma migrate dev --name <nome_da_mudanca>
npx prisma migrate dev --name create_users
- Commit + push (inclua a pasta
prisma/migrations/no git).
Se outro dev criou migration, rode:
npx prisma migrate devIsso aplica as migrations pendentes no seu banco local.
No deploy, nunca use dev.
Use:
npx prisma migrate deployIsso aplica todas as migrations já criadas/testadas.
migrate dev --name→ cria + aplica + atualiza client (desenvolvimento)migrate dev→ aplica migrations pendentes (após git pull)migrate deploy→ aplica migrations em produção
- Sempre descreva bem o nome da migration (
create_orders,add_price_to_assets). - Nunca edite migrations antigas já aplicadas — crie uma nova.
.envdefine a conexão com o banco (DATABASE_URL).