37 lines
944 B
Python
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()
|