Skip to content

chore(migrations): inicialización de Alembic y migración inicial del esquema#6

Merged
Ochoa-Stack merged 2 commits into
developfrom
feature/alembic-migrations
Jun 9, 2026
Merged

chore(migrations): inicialización de Alembic y migración inicial del esquema#6
Ochoa-Stack merged 2 commits into
developfrom
feature/alembic-migrations

Conversation

@Ochoa-Stack

Copy link
Copy Markdown
Owner

feature/alembic-migrations

Descripción

Se integra Flask-Migrate (Alembic) para establecer el control de versiones de la base de datos y se materializan los modelos de SQLAlchemy en el motor físico de PostgreSQL.

Fases de ejecución integradas:

  • Andamiaje: Inicialización del entorno de migraciones (flask db init), estableciendo la configuración estructural en el directorio migrations/.
  • Captura de estado (Snapshot): Generación del script de migración inicial (revisión 9decfc36853f) validando la lectura de los 9 modelos expuestos en la capa de datos (Category, City, Skill, Job, JobSkill, User, Alert, TrendSnapshot, Backup).
  • Materialización física: Ejecución del upgrade hacia la base de datos, inyectando las entidades estructuradas y la tabla de rastreo de versiones (alembic_version) sin colisiones de restricciones o dependencias.

Tipo de cambio

  • feat
  • fix
  • refactor
  • chore
  • docs
  • test

Cómo probar

  1. Tras el merge, actualizar la rama base localmente: git checkout develop && git pull origin develop
  2. Navegar a la raíz del backend: cd backend
  3. Asegurar que el entorno virtual esté activo y que el motor local de PostgreSQL (skillstat_dev) esté corriendo y conectado en tu archivo .env.
  4. Ejecutar la sincronización física del esquema en tu base de datos local:
    flask db upgrade
  5. Conectarse al motor de PostgreSQL (vía CLI o cliente gráfico) y validar la existencia de las tablas ejecutando:
    \dt

Checklist

  • Sigue las convenciones de commits del proyecto
  • Las pruebas existentes pasan sin errores (upgrade físico ejecutado con éxito en entorno de desarrollo local)
  • Se agregaron pruebas para el nuevo comportamiento (si aplica)
  • No se incluyen archivos .env ni credenciales

Copilot AI review requested due to automatic review settings June 9, 2026 23:54
@Ochoa-Stack Ochoa-Stack merged commit 2678f39 into develop Jun 9, 2026
1 check passed
@Ochoa-Stack Ochoa-Stack deleted the feature/alembic-migrations branch June 9, 2026 23:57

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR incorpora el andamiaje de Alembic/Flask-Migrate en el backend para habilitar versionado del esquema y aplicar una migración inicial que materializa los modelos SQLAlchemy en PostgreSQL.

Changes:

  • Se agrega el entorno de migraciones de Alembic (backend/migrations/) con configuración, template y entorno de ejecución.
  • Se incluye una migración inicial (9decfc36853f) que crea las tablas base del dominio (categorías, ciudades, usuarios, vacantes, habilidades, relaciones, snapshots, alertas y backups).
  • Se fuerza la importación de app.models durante el create_app para asegurar que el metadata incluya todas las tablas al generar migraciones.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
backend/migrations/versions/9decfc36853f_initial_database_migration.py Migra el esquema inicial creando todas las tablas y constraints.
backend/migrations/script.py.mako Template para generar nuevos scripts de migración.
backend/migrations/README README default de Alembic/Flask-Migrate para single DB.
backend/migrations/env.py Configura el runtime de Alembic para Flask-Migrate (online/offline, metadata, autogenerate).
backend/migrations/alembic.ini Configuración base de logging de Alembic.
backend/migrations/.gitkeep Remueve placeholder ya innecesario tras agregar archivos reales.
backend/app/init.py Importa modelos en el factory para que Alembic detecte el metadata completo.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +3 to +5
Revision ID: 9decfc36853f
Revises: Elias Ochoa
Create Date: 2026-06-09 17:38:16 p.m.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants