# Actualización segura

Flujo obligatorio:

```text
backup → staging → tests → mantenimiento → código → migraciones → cachés → smoke tests → reapertura
```

1. Revisar changelog, PHP/Laravel y migraciones; obtener ZIP/hash.
2. Respaldar DB, código, `.env`, `APP_KEY` y storage; comprobar recuperación.
3. Ensayar en staging con copia saneada, `composer check-platform-reqs` y suite.
4. Anunciar ventana y habilitar mantenimiento.
5. Sustituir código preservando `.env`/storage; importar SQL incremental o ejecutar migraciones una sola vez.
6. Limpiar/recrear caché de config/routes/views; comprobar permisos.
7. Hacer smoke tests públicos/internos, consulta, préstamo y correo sin datos reales.
8. Reabrir y vigilar logs/auditoría.

Si falla, detener escrituras, restaurar código y DB del mismo punto, conservar evidencia y validar. Nunca actualizar directamente sin backup ni mezclar schema nuevo con código viejo sin compatibilidad confirmada.

