123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- """${message}
- Revision ID: ${up_revision}
- Revises: ${down_revision | comma,n}
- Create Date: ${create_date}
- Schema: %(schema)s
- """
- from typing import Sequence, Union
- from alembic import op
- import sqlalchemy as sa
- ${imports if imports else ""}
- # revision identifiers, used by Alembic.
- revision: str = ${repr(up_revision)}
- down_revision: Union[str, None] = ${repr(down_revision)}
- branch_labels: Union[str, Sequence[str], None] = ${repr(branch_labels)}
- depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)}
- def upgrade() -> None:
- # Get the schema name
- schema = op.get_context().get_context_kwargs.get('version_table_schema')
- """
- ### Schema-aware migration
- All table operations should include the schema name, for example:
- op.create_tables(
- 'my_table',
- sa.Column('id', sa.Integer(), nullable=False),
- sa.Column('name', sa.String(), nullable=True),
- schema=schema
- )
- op.create_index(
- 'idx_my_table_name',
- 'my_table',
- ['name'],
- schema=schema
- )
- """
- ${upgrades if upgrades else "pass"}
- def downgrade() -> None:
- # Get the schema name
- schema = op.get_context().get_context_kwargs.get('version_table_schema')
- """
- ### Schema-aware downgrade
- Remember to include schema in all operations, for example:
- op.drop_table('my_table', schema=schema)
- """
- ${downgrades if downgrades else "pass"}
|