O banco de dados Cloudflare D1 foi completamente migrado e está funcionando com o novo schema SQLite.
✅ Dropadas 11 tabelas do schema PostgreSQL antigo
✅ Queries executadas: 11
✅ Tempo: 2.70ms
✅ Database limpo✅ Arquivo: 0000_slow_namorita.sql
✅ Queries executadas: 28
✅ Tabelas criadas: 10
✅ Índices criados: 15
✅ Foreign keys: 12
✅ Tempo: 2.75ms
✅ Tamanho final: 0.15 MB| # | Tabela | Descrição |
|---|---|---|
| 1 | users |
Usuários do sistema (Clerk sync) |
| 2 | profiles |
Perfis de usuário (onboarding) |
| 3 | exercises |
Biblioteca de exercícios |
| 4 | workout_plans |
Planos semanais de treino |
| 5 | workouts |
Treinos individuais |
| 6 | workout_exercises |
Exercícios de cada treino |
| 7 | workout_feedback |
Feedback dos usuários |
| 8 | user_streaks |
Streaks de gamificação |
| 9 | achievements |
Conquistas disponíveis |
| 10 | user_achievements |
Conquistas desbloqueadas |
- De: PostgreSQL (pgTable)
- Para: SQLite (sqliteTable)
- Migration file:
0000_slow_namorita.sql - Database ID:
8156de65-ed3d-46a9-8b5c-c314e6920aef
- ✅
serial→integer PRIMARY KEY AUTOINCREMENT - ✅
varchar→text - ✅
decimal→real - ✅
timestamp→integer(Unix epoch) - ✅ Arrays → JSON text (manual parsing)
- ✅
uniqueIndex→index
1. achievements_slug_unique
2. exercises_slug_unique
3. profiles_user_id_unique
4. profiles_user_id_idx
5. user_achievements_user_id_idx
6. user_achievements_achievement_id_idx
7. user_achievements_user_achievement_idx
8. user_streaks_user_id_unique
9. user_streaks_user_id_idx
10. users_email_unique
11. workout_exercises_workout_order_idx
12. workout_feedback_workout_id_unique
13. workout_feedback_workout_id_idx
14. workout_feedback_user_id_idx
15. workout_plans_user_id_idx
16. workout_plans_user_week_idx
17. workouts_user_id_idx
18. workouts_plan_id_idx
SELECT name FROM sqlite_master WHERE type='table';Resultado: ✅ 10 tabelas + 3 system tables
- Nome: fitness-pro-db
- Tipo: Cloudflare D1 (SQLite)
- Tamanho: 0.15 MB
- Tabelas: 10 de aplicação + 3 do sistema
- Índices: 18 índices criados
- Foreign Keys: 12 relacionamentos
- Status: ✅ ONLINE E FUNCIONANDO
Opção A - SQL Direto:
# Criar arquivo seed.sql com INSERT statements
npx wrangler d1 execute fitness-pro-db --remote --file=scripts/seed.sqlOpção B - Script TypeScript:
# Criar script que use a API ou D1 SDK
node scripts/seed-exercises.jsExercícios Necessários:
- Exercícios para casa (sem equipamento)
- Exercícios para academia (com equipamento)
- Diferentes níveis de dificuldade
- Grupos musculares variados
Conquistas a adicionar:
- Primeira semana completa
- 7 dias de streak
- 30 dias de streak
- 10 treinos completos
- 50 treinos completos
- etc.
npx wrangler d1 execute fitness-pro-db --remote \
--command="PRAGMA table_info(users);"npx wrangler d1 execute fitness-pro-db --remote \
--command="SELECT * FROM users LIMIT 10;"npx wrangler d1 execute fitness-pro-db --remote \
--command="INSERT INTO users (id, email) VALUES ('test', 'test@example.com');"npx wrangler d1 export fitness-pro-db --remote --output=backup.sql- ✅ Schema criado e funcionando
⚠️ Banco VAZIO (sem dados)⚠️ Sem exercícios (treinos não podem ser gerados)⚠️ Sem achievements (gamificação não funciona)
- ✅ Migrations - CONCLUÍDO
⚠️ Seed exercícios - PENDENTE⚠️ Seed achievements - PENDENTE⚠️ Testes - PENDENTE
| Componente | Status |
|---|---|
| Schema SQLite | ✅ Criado |
| Migrations | ✅ Aplicadas |
| Tabelas | ✅ 10 tabelas |
| Índices | ✅ 18 índices |
| Foreign Keys | ✅ 12 FKs |
| Exercícios | |
| Achievements | |
| API | ✅ Online |
| Frontend | ✅ Online |
Data: 10/01/2026 Hora: ~21:15 BRT Database: fitness-pro-db (8156de65-ed3d-46a9-8b5c-c314e6920aef) Status: ✅ MIGRATIONS APLICADAS COM SUCESSO
🎉 O banco de dados está pronto para receber dados!