Safe database migration workflow for UFC News Hub
UFC News Hub uses a dual DB pattern:
src/lib/db.ts — most routessrc/lib/prisma.ts — AI company systemSchema source of truth: ufc-news-hub/prisma/schema.prisma
All table/column names are in Portuguese.
Edit ufc-news-hub/prisma/schema.prisma:
@@index for columns used in WHERE/ORDER BY@@map("nome_da_tabela") for mapping model namescd ufc-news-hub
npx prisma migrate dev --name descricao_da_mudanca
prisma/migrations/cd ufc-news-hub
npx prisma generate
Search for affected tables/columns in raw SQL:
grep -rn "nome_da_tabela\|nome_da_coluna" src/ --include="*.ts"
Update all query() and queryOne() calls to match new schema.
src/types/ for affected type definitionscd ufc-news-hub
npx prisma generate # Regenerate client
npm run lint # Lint check
npx tsc --noEmit # Type check
npm run build # Build check
-- Run against local DB to verify migration
SELECT COUNT(*) FROM nova_tabela;
SELECT * FROM tabela_modificada LIMIT 5;
pg_dumpnpx prisma migrate deploy (not dev)| Table | Purpose |
|---|---|
noticias | News articles |
lutadores | Fighters |
eventos | Events |
lutas | Fights |
comentarios | Comments |
analises | AI fight analyses |
previsoes | User predictions |
usuarios_arena | Gamification users |
agents | AI company agents |
agent_tasks | Agent task queue |
approvals | Approval workflow |