Ciclo de vida del sandbox
Reset, dump, restore — mantén tu sandbox iterando rápido.
Añadido en 0.6.0, la suite de subcomandos db te deja iterar sobre un sandbox sin tener que reconstruirlo desde cero. Tres comandos cubren el ciclo habitual: tirar la BD, sacar un snapshot, restaurar un snapshot.
Cuándo usar cada uno
| Escenario | Comando |
|---|---|
| "He roto los datos, dame un PrestaShop limpio otra vez." | ps-lando db reset |
| "Guarda el estado actual — volveré luego." | ps-lando db dump |
| "Tráeme el snapshot que saqué ayer." | ps-lando db restore <file> |
| "Algo va raro — ¿cuál es el estado de este sandbox?" | ps-lando doctor |
Reset es ~3-5 min. Un create completo es ~6 min. El ahorro viene de saltarse la descarga del CDN + la extracción de Panda.
db reset
Tira la BD del sandbox y re-ejecuta el instalador CLI + install de módulos + activación del tema contra los archivos que ya están en disco. Sin descarga del CDN, sin re-extracción de Panda, sin re-deploy de Easy Builder.
ps-lando db reset
ps-lando db reset -y # se salta el prompt de confirmaciónQué hace
- Prompt de confirmación (saltable con
-y). - Re-extrae
install/desde el zip de PS cacheado (PS borra ese directorio post-install por seguridad). - Tira la BD del sandbox.
- Re-ejecuta el instalador CLI de PrestaShop con los mismos parámetros de
.ps-lando.json(admin email/password, idioma, país, zona horaria, dominio). - Re-instala módulos respetando el
module_selectionpersistido (los mismos flags--skip-*/--onlyque usaste originalmente). - Re-activa el tema Panda.
- Re-borra
install/para reflejar el comportamiento original.
Qué NO hace
- No re-descarga PS.
- No re-extrae Panda ni Easy Builder.
- No re-ejecuta
init-scripts/nipost-scripts/automáticamente — ejecutaps-lando hooks run-alldespués si quieres re-seedear. - No toca archivos en
themes/nimodules/.
Los sandboxes creados antes de 0.6.0 no tienen module_selection en .ps-lando.json. Reset por defecto tira de "instalar todo" en esos casos — pasa flags --skip-* manualmente si los necesitas.
db dump
Produce un dump MySQL gzipped de la BD del sandbox.
# Por defecto: <project>-<YYYY-MM-DD-HHMM>.sql.gz en el cwd.
ps-lando db dump
# Ruta personalizada.
ps-lando db dump backups/before-migration.sql.gz
# Bundle con BD + img/ + themes/<active>/ overrides.
ps-lando db dump --with-filesBundle --with-files
Cambia la salida a un .tar.gz que contiene:
dump.sql— el mismo contenido que el.sql.gz.img/— imágenes de productos / categorías subidas vía el BO.themes/<active>/— tus overrides de tema (típicamente el tema hijo).
modules/ está intencionadamente excluido — el estado de los módulos es restaurable solo desde el SQL vía install-modules. Incluir las fuentes de los módulos engordaría el bundle sin añadir capacidad de recuperación.
Tamaño real de un bundle para un sandbox con 10 productos demo + 3 pedidos: 27 MB total (1.3 MB SQL + 25 MB img + overrides de temas pequeños).
db restore
Auto-detecta el formato por extensión:
.sql.gz→ solo BD..tar.gz/.tgz→ BD + archivos.
ps-lando db restore my-shop-2026-04-25-1430.sql.gz
ps-lando db restore backup-with-files.tar.gz -y # se salta confirmEl prompt de confirmación está activo por defecto porque restore sobreescribe la BD viva. Pasa -y para saltártelo — casi seguro quieres mantener el prompt salvo en scripts.
El round-trip dump → reset → restore en un PS 9.1.0 real se validó en 6.6 s solo para el paso de restore. El pipeline en streaming (sin archivos temporales) lo hace rápido incluso con dumps de 100 MB+.
Prompts de confirmación
Tanto db reset como db restore preguntan antes de ejecutar porque sobreescriben datos vivos. Pasa -y para saltártelo en scripts.
ps-lando db reset -y
ps-lando db restore backup.sql.gz -ydb dump no pregunta — solo crea un archivo nuevo.
Doctor
El cuarto comando del ciclo de vida, ps-lando doctor, es una checklist diagnóstica: Lando arrancado, BD accesible, módulos activos, tema correcto, front + BO HTTP responden, directorios de hooks presentes, errores recientes en los logs. Con --fix, puede auto-recuperar lo que sea recuperable.
Se merece su propia página — mira Doctor.
Workflows típicos
Iterar sobre una recipe
# Edita init-scripts/10-my-recipe.sh
ps-lando db reset -y # ~3-5 min
ps-lando hooks run my-recipe # re-ejecuta solo mi recipeCompartir un estado known-good
ps-lando db dump --with-files
# → my-shop-2026-04-25-1430.tar.gz
# Mándalo al compañero. Él ejecuta:
cd their-shop
ps-lando db restore my-shop-2026-04-25-1430.tar.gzRecuperarse de un estado roto
ps-lando doctor # diagnostica
ps-lando doctor --fix # auto-recupera
# Si sigue roto:
ps-lando db reset -y # opción nuclear sin llegar a `destroy`