diff --git a/alembic/versions/7506a3320699_channel_table.py b/alembic/versions/7506a3320699_channel_table.py index 31a8501..bc27d49 100644 --- a/alembic/versions/7506a3320699_channel_table.py +++ b/alembic/versions/7506a3320699_channel_table.py @@ -25,21 +25,22 @@ def upgrade() -> None: conn = op.get_bind() # 1. Создать новую таблицу op.create_table( - 'channel_new', + 'channels_new', sa.Column('id', sa.Integer(), nullable=False), - sa.Column('name', sa.String(length=255), nullable=False), + sa.Column('name', sa.String(length=255), nullable=True), + sa.Column('link', sa.String(length=255), nullable=True), sa.Column('admin_id', sa.Integer(), nullable=True), sa.PrimaryKeyConstraint('id') ) # 2. Если старая таблица есть, скопировать данные - result = conn.execute(sa.text("SELECT name FROM sqlite_master WHERE type='table' AND name='channel'")).fetchone() + result = conn.execute(sa.text("SELECT name FROM sqlite_master WHERE type='table' AND name='channels'")).fetchone() if result: - conn.execute(sa.text("INSERT INTO channel_new (id, name, admin_id) SELECT id, name, admin_id FROM channel")) - op.drop_table('channel') + conn.execute(sa.text("INSERT INTO channels_new (id, name, link, admin_id) SELECT id, name, link, admin_id FROM channels")) + op.drop_table('channels') # 3. Переименовать новую таблицу - conn.execute(sa.text("ALTER TABLE channel_new RENAME TO channel")) + conn.execute(sa.text("ALTER TABLE channels_new RENAME TO channels")) def downgrade() -> None: """Downgrade schema.""" - op.drop_table('channel') + op.drop_table('channels')