flask_more_smorest.sqla.migrations

Migration utilities for flask-more-smorest.

This module provides utilities for database migrations using Alembic. It handles the creation of migration environments and provides helpers for managing database schema changes.

Functions

create_migration(message[, directory])

Create a new migration file.

downgrade_database(revision[, directory])

Downgrade database to specified revision.

get_migration_history([directory])

Get list of migration revisions.

init_migrations(app[, directory])

Initialize Alembic migration environment for the application.

upgrade_database([revision, directory])

Upgrade database to specified revision.

flask_more_smorest.sqla.migrations.init_migrations(app, directory='migrations')[source]

Initialize Alembic migration environment for the application.

Creates the migrations directory structure and configuration files needed for Alembic database migrations.

Parameters:
  • app (Flask) – Flask application instance

  • directory (str) – Directory name for migration files (default: ‘migrations’)

Return type:

None

Example

>>> from flask import Flask
>>> from flask_more_smorest.sqla import init_migrations
>>>
>>> app = Flask(__name__)
>>> init_migrations(app)
flask_more_smorest.sqla.migrations.create_migration(message, directory='migrations')[source]

Create a new migration file.

Automatically detects changes in the database models and generates a migration script.

Parameters:
  • message (str) – Description of the migration

  • directory (str) – Directory containing migration files (default: ‘migrations’)

Raises:

RuntimeError – If migrations directory doesn’t exist

Return type:

None

Example

>>> create_migration("Add user profile fields")
flask_more_smorest.sqla.migrations.upgrade_database(revision='head', directory='migrations')[source]

Upgrade database to specified revision.

Applies database migrations up to the specified revision.

Parameters:
  • revision (str) – Target revision (default: ‘head’ for latest)

  • directory (str) – Directory containing migration files (default: ‘migrations’)

Return type:

None

Example

>>> upgrade_database()  # Upgrade to latest
>>> upgrade_database("ae1027a6acf")  # Upgrade to specific revision
flask_more_smorest.sqla.migrations.downgrade_database(revision, directory='migrations')[source]

Downgrade database to specified revision.

Reverts database migrations to the specified revision.

Parameters:
  • revision (str) – Target revision to downgrade to

  • directory (str) – Directory containing migration files (default: ‘migrations’)

Return type:

None

Example

>>> downgrade_database("-1")  # Downgrade one revision
>>> downgrade_database("ae1027a6acf")  # Downgrade to specific revision
flask_more_smorest.sqla.migrations.get_migration_history(directory='migrations')[source]

Get list of migration revisions.

Parameters:

directory (str) – Directory containing migration files (default: ‘migrations’)

Return type:

list[str]

Returns:

List of revision IDs in the migration history