Skip to main content

Alembic Workflow Guide

Migrating from an Existing Database (e.g. SQLite)

If you already have an existing database, set up a baseline first:

alembic revision --autogenerate -m "initial migration"
alembic stamp head

Initializing an Empty Database

Starting from scratch with a new database:

alembic init alembic
alembic revision --autogenerate -m "Initial version"
alembic upgrade head

After Updating Models

When SQLAlchemy models change, generate a new migration and apply it:

alembic revision --autogenerate -m "Update models"
alembic upgrade head

Rollback

Roll back one migration:

alembic downgrade -1