Files
assets-bot/db_repo/versions/004_task_status_column.py
2021-01-07 22:32:36 +03:00

37 lines
944 B
Python

from sqlalchemy import Table, MetaData, Column, Integer, Index
meta = MetaData()
def _get_table(meta):
meta.reflect()
AnalyzeTask = Table("analyze_tasks", meta, autoload=True, autoload_with=meta.bind)
return AnalyzeTask
def _get_column():
return Column("status", Integer, nullable=False, default=0, server_default="2")
def _get_indices(meta):
meta.reflect()
AnalyzeTask = Table("analyze_tasks", meta, autoload=True, autoload_with=meta.bind)
return [Index("analyze_tasks_status_idx", AnalyzeTask.c.status, unique=False)]
def upgrade(migrate_engine):
meta.bind = migrate_engine
table = _get_table(meta)
col = _get_column()
col.create(table, populate_default=True)
for idx in _get_indices(meta):
idx.create()
def downgrade(migrate_engine):
meta.bind = migrate_engine
table = _get_table(meta)
table.c.status.drop()
for idx in _get_indices(meta):
idx.drop()