run_migrations_online#

safir.database.run_migrations_online(metadata, url_or_config, password=None)#

Run Alembic migrations online using an async backend.

Overloads:

This function may only be called from the Alembic env.py file.

Parameters:
  • metadata (MetaData) – Schema metadata object for the current schema.

  • url_or_config (str | Url | MySQLDsn | CloudSqlConfig | DatabaseConfig) – Database connection configuration, or the database connection URL. If the argument is a database configuration object, omit the password argument.

  • url – Database connection URL, not including the password. Omit if config is provided.

  • password (str | SecretStr | None, default: None) – Database connection password. Omit if config is provided.

Examples

Normally this is called from alembic/env.py with code similar to the following:

from alembic import context
from safir.database import run_migrations_offline

from example.config import config
from example.schema import Base

if not context.is_offline_mode():
    run_migrations_online(Base.metadata, config.database)