Files
pedidosClientes/MIGRATION_PRISMA.md
2025-12-05 11:27:16 -03:00

84 lines
1.8 KiB
Markdown

# Guía de Migración a Prisma ORM
## Opción 1: FastAPI + Prisma (Recomendado)
### Pasos para migrar:
1. **Instalar Prisma CLI y dependencias:**
```bash
npm install
pip install -r requirements_prisma.txt
```
2. **Configurar DATABASE_URL en .env:**
```env
DATABASE_URL="postgresql://usuario:password@localhost:5432/pedidos_clientes"
```
3. **Generar cliente Prisma:**
```bash
npm run prisma:generate
# O directamente:
prisma generate
```
4. **Crear migración inicial:**
```bash
npm run prisma:migrate
# O:
prisma migrate dev --name init
```
5. **Aplicar migraciones:**
```bash
prisma migrate deploy
```
## Opción 2: Mantener Django con Prisma Client Python
Es posible pero requiere:
- Usar Prisma solo para queries complejas
- Mantener Django ORM para la mayoría de operaciones
- Configurar ambos clientes
**No recomendado** - Mejor migrar completamente a FastAPI.
## Estructura con Prisma
```
prisma/
schema.prisma # Schema de base de datos
migrations/ # Migraciones generadas
app/
prisma_client.py # Cliente Prisma inicializado
models/ # Modelos Pydantic (opcional)
api/ # Endpoints FastAPI
services/ # Lógica de negocio
```
## Ventajas de Prisma
- ✅ Type-safe queries
- ✅ Migraciones automáticas
- ✅ Mejor performance
- ✅ Schema como código
- ✅ Prisma Studio (GUI para BD)
## Desventajas
- ❌ Requiere Node.js para Prisma CLI
- ❌ Cambio de framework (Django → FastAPI)
- ❌ Necesita reescribir vistas y serializers
## ¿Continuar con la migración completa?
Si decides migrar, necesitaré:
1. Reescribir todas las vistas Django → FastAPI
2. Convertir serializers → Pydantic models
3. Actualizar servicios para usar Prisma Client
4. Mantener la misma funcionalidad
¿Quieres que proceda con la migración completa a FastAPI + Prisma?