# PASO 0 — Preservación de v2.1.0 antes de arrancar Sprint 4 > Ejecutar ANTES de tocar nada de v3. Estos pasos preservan el estado actual > estable como punto de retorno seguro. --- ## Objetivo 1. Crear tag `v2.1.0` sobre el commit actual de `main`. 2. Crear rama `v2.1.0-stable` que preserva el código de v2. 3. Generar un dump de la base de datos de producción y versionarlo en esa rama. 4. Crear `CHANGELOG.md` en `main`. 5. Dejar `main` listo para desarrollo de v3. --- ## Secuencia de comandos ### 1. Asegurarse de estar en main actualizado ```bash git checkout main git pull origin main git status # debe estar limpio ``` ### 2. Crear el tag de la versión estable actual ```bash git tag -a v2.1.0 -m "Versión 2.1.0 — formulario lineal, dashboard multitenante, instrumento v2.1" git push origin v2.1.0 ``` ### 3. Crear la rama de preservación ```bash git checkout -b v2.1.0-stable git push -u origin v2.1.0-stable ``` ### 4. Generar el dump de la base de datos (en el VPS) ```bash # En el VPS inq-mart-2: docker exec supabase-db pg_dump -U postgres --clean --if-exists postgres \ | gzip > ~/dump_v2.1.0_$(date +%Y%m%d).sql.gz # Verificar tamaño ls -lh ~/dump_v2.1.0_*.sql.gz ``` ### 5. Traer el dump a la máquina local y agregarlo a la rama ```bash # En tu Mac, desde el repo, estando en la rama v2.1.0-stable: mkdir -p db-snapshots scp administrator@172.20.5.11:~/dump_v2.1.0_*.sql.gz db-snapshots/ git add db-snapshots/ git commit -m "chore(v2.1.0): snapshot de base de datos de producción Dump completo de la DB de producción al momento del corte v2.1.0. Incluye: 3 organizaciones, 3 surveys, 132 questions, 15 responses, ~500 answers. Preservado antes de iniciar el desarrollo de v3 (wizard)." git push origin v2.1.0-stable ``` ### 6. Volver a main y crear el CHANGELOG ```bash git checkout main # Crear CHANGELOG.md (contenido en el archivo adjunto) git add CHANGELOG.md git commit -m "docs: agregar CHANGELOG con versionado semántico Establece la convención SemVer para el proyecto. v2.1.0 documentada como versión estable actual. v3.0.0 (wizard) marcada como en desarrollo." git push origin main ``` --- ## Verificación final ```bash git tag -l # debe mostrar v2.1.0 git branch -a # debe mostrar main y v2.1.0-stable git log --oneline -3 # en main, último commit es el CHANGELOG ``` A partir de acá, todo el trabajo de v3 va en `main`. La rama `v2.1.0-stable` queda congelada como referencia y punto de retorno. --- ## Nota sobre el dump El dump en `db-snapshots/` permite recrear la DB de v2.1.0 si fuera necesario volver atrás. Para restaurarlo: ```bash gunzip -c dump_v2.1.0_YYYYMMDD.sql.gz | docker exec -i supabase-db psql -U postgres -d postgres ```