Skip to content

Env

do_run_migrations(connection)

Run actual sync migrations.

Parameters:

Name Type Description Default
connection Connection

connection to the database.

required
Source code in hestia/db/migrations/env.py
58
59
60
61
62
63
64
65
66
67
def do_run_migrations(connection: Connection) -> None:
    """
    Run actual sync migrations.

    :param connection: connection to the database.
    """
    context.configure(connection=connection, target_metadata=target_metadata)

    with context.begin_transaction():
        context.run_migrations()

run_migrations_offline() async

Run migrations in 'offline' mode.

This configures the context with just a URL and not an Engine, though an Engine is acceptable here as well. By skipping the Engine creation we don't even need a DBAPI to be available.

Calls to context.execute() here emit the given string to the script output.

Source code in hestia/db/migrations/env.py
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
async def run_migrations_offline() -> None:
    """Run migrations in 'offline' mode.

    This configures the context with just a URL
    and not an Engine, though an Engine is acceptable
    here as well.  By skipping the Engine creation
    we don't even need a DBAPI to be available.

    Calls to context.execute() here emit the given string to the
    script output.

    """
    context.configure(
        url=str(settings.db_url),
        target_metadata=target_metadata,
        literal_binds=True,
        dialect_opts={"paramstyle": "named"},
    )

    with context.begin_transaction():
        context.run_migrations()

run_migrations_online() async

Run migrations in 'online' mode.

In this scenario we need to create an Engine and associate a connection with the context.

Source code in hestia/db/migrations/env.py
70
71
72
73
74
75
76
77
78
79
80
async def run_migrations_online() -> None:
    """
    Run migrations in 'online' mode.

    In this scenario we need to create an Engine
    and associate a connection with the context.
    """
    connectable = create_async_engine(str(settings.db_url))

    async with connectable.connect() as connection:
        await connection.run_sync(do_run_migrations)