feat: draft version
This commit is contained in:
38
db_repo/versions/004_task_status_column.py
Normal file
38
db_repo/versions/004_task_status_column.py
Normal file
@@ -0,0 +1,38 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user