"""billing Revision ID: d21c5f9364ea Revises: f40cab941564 Create Date: 2026-04-23 19:22:45.686671 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = 'd21c5f9364ea' down_revision: Union[str, Sequence[str], None] = 'f40cab941564' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Upgrade schema.""" # 1. Сначала создаем тип в базе данных # Имя 'billstatus' должно совпадать с тем, что в ошибке bind = op.get_bind() if bind.dialect.name == 'postgresql': op.execute("CREATE TYPE billstatus AS ENUM ('NEW', 'PROCESS', 'UNDERPAID', 'SUCCESS', 'OVERPAID', 'FAIL')") # 2. Теперь добавляем колонку, которая использует этот тип op.add_column('bills', sa.Column('status', sa.Enum('NEW', 'PROCESS', 'UNDERPAID', 'SUCCESS', 'OVERPAID', 'FAIL', name='billstatus'), nullable=False)) def downgrade() -> None: """Downgrade schema.""" # ### commands auto generated by Alembic - please adjust! ### op.drop_column('bills', 'status') bind = op.get_bind() if bind.dialect.name == 'postgresql': op.execute("DROP TYPE billstatus") # ### end Alembic commands ###