67 lines
1.8 KiB
Markdown
67 lines
1.8 KiB
Markdown
# Guía de Migración Django → FastAPI + Prisma
|
|
|
|
## Cambios Realizados
|
|
|
|
### 1. Estructura del Proyecto
|
|
- ✅ Migrado de Django a FastAPI
|
|
- ✅ Reemplazado Django ORM por Prisma Client Python
|
|
- ✅ Convertidos serializers Django → Modelos Pydantic
|
|
- ✅ Convertidas vistas Django → Routers FastAPI
|
|
|
|
### 2. Base de Datos
|
|
- ✅ Schema Prisma creado con todos los modelos
|
|
- ✅ Migraciones Prisma configuradas
|
|
- ✅ Índices y relaciones mantenidos
|
|
|
|
### 3. API Endpoints
|
|
Todos los endpoints mantienen la misma funcionalidad:
|
|
- ✅ `/api/clientes` - CRUD de clientes
|
|
- ✅ `/api/pedidos-cliente` - CRUD de pedidos
|
|
- ✅ `/api/proveedores` - CRUD de proveedores
|
|
- ✅ `/api/albaranes` - Gestión de albaranes
|
|
- ✅ `/api/kanban` - Datos del Kanban
|
|
- ✅ `/api/alertas` - Alertas de pedidos urgentes
|
|
|
|
### 4. Servicios
|
|
- ✅ OCR Service actualizado
|
|
- ✅ Albaran Processor actualizado para Prisma
|
|
- ✅ PDF Parser mantenido
|
|
|
|
## Próximos Pasos
|
|
|
|
1. **Instalar dependencias:**
|
|
```bash
|
|
npm install
|
|
pip install -r requirements_prisma.txt
|
|
```
|
|
|
|
2. **Configurar base de datos:**
|
|
```bash
|
|
# Editar .env con DATABASE_URL
|
|
prisma generate
|
|
prisma migrate dev --name init
|
|
```
|
|
|
|
3. **Migrar datos existentes (si aplica):**
|
|
Si tienes datos en Django, necesitarás exportarlos e importarlos.
|
|
|
|
4. **Probar la aplicación:**
|
|
```bash
|
|
python run.py
|
|
```
|
|
|
|
## Notas Importantes
|
|
|
|
- Los nombres de campos en Prisma usan camelCase (ej: `numeroPedido`)
|
|
- Los modelos Pydantic usan snake_case (ej: `numero_pedido`)
|
|
- La conversión se hace automáticamente en los endpoints
|
|
- Prisma Studio está disponible para gestionar la BD: `prisma studio`
|
|
|
|
## Archivos a Revisar
|
|
|
|
- `prisma/schema.prisma` - Verificar que los modelos coincidan
|
|
- `app/models/*.py` - Verificar modelos Pydantic
|
|
- `app/api/routes/*.py` - Verificar endpoints
|
|
- `.env` - Configurar DATABASE_URL y OPENAI_API_KEY
|
|
|