Sitemap
Ernesto Cullen

Ernesto Cullen

Electronics Engineer, Software developer, Teacher, lifelong curious

Member-only story

WebAPI con FastAPI

Versión 4: migraciones con Alembic

16 min readMay 8, 2024

--

Continuamos con el ejemplo de una WebAPI completa con FastAPI.

Press enter or click to view image in full size
By The original uploader was Makemake at German Wikipedia. — Self-photographed, Public Domain, https://commons.wikimedia.org/w/index.php?curid=8946860
By The original uploader was Makemake at German Wikipedia. — Self-photographed, Public Domain, https://commons.wikimedia.org/w/index.php?curid=8946860

En la versión 1 vimos como podemos crear rápidamente una API, con un solo archivo.

En la versión 2 refactorizamos el código en capas, para facilitar futuros cambios.

En la versión 3 integramos una base de datos para almacenar los contactos.

En este artículo veremos cómo usar Alembic para mantener la estructura de la base de datos en forma repetible. El código para todas las versiones está en Github: https://github.com/mcgilbertus/contacts-fapi.git

Alembic

Alembic (https://alembic.sqlalchemy.org/en/latest/) es parte del proyecto SQLAlchemy; es una librería que permite administrar migraciones de estructura de una base de datos usando el motor de SQLAlchemy.

Una migración es un script que permite pasar de un esquema a otro en una base de datos

Es muy recomendable trabajar con scripts para que el proceso sea repetible. Cada vez que hacemos algún cambio en el esquema -agregamos o quitamos entidades, propiedades, restricciones, etc- tenemos que crear una migración que permita pasar del estado anterior al cambio al estado posterior al cambio. Esa migración puede después aplicarse en cualquier…

--

--

Ernesto Cullen
Ernesto Cullen

Written by Ernesto Cullen

Electronics Engineer, Software developer, Teacher, lifelong curious