"""channel table Revision ID: 7506a3320699 Revises: 69ef23ef1ed1 Create Date: 2025-09-05 14:12:37.430983 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa from sqlalchemy.sql import table, column # revision identifiers, used by Alembic. revision: str = '7506a3320699' down_revision: Union[str, Sequence[str], None] = '69ef23ef1ed1' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: """Upgrade schema.""" # Для SQLite: добавляем столбцы через ALTER TABLE conn = op.get_bind() # Добавить столбец link, если его нет result = conn.execute(sa.text("PRAGMA table_info(channels)")).fetchall() columns = [row[1] for row in result] if 'link' not in columns: conn.execute(sa.text("ALTER TABLE channels ADD COLUMN link VARCHAR(255)")) # Добавить столбец admin_id, если его нет if 'admin_id' not in columns: conn.execute(sa.text("ALTER TABLE channels ADD COLUMN admin_id INTEGER")) def downgrade() -> None: """Downgrade schema.""" # SQLite не поддерживает удаление столбцов, поэтому просто удаляем таблицу op.drop_table('channels')