feat(jira): pause/hold status mapping, RT/BT dates, TTP, attack_success 3-value field, hours
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
"""Convert tests.attack_success from Boolean to a 3-value enum.
|
||||
|
||||
Revision ID: b058
|
||||
Revises: b057
|
||||
Create Date: 2026-07-06
|
||||
"""
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
revision = "b058"
|
||||
down_revision = "b057"
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
_ENUM_NAME = "attacksuccessresult"
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
attack_success_enum = sa.Enum(
|
||||
"successful", "not_successful", "partially_successful", name=_ENUM_NAME
|
||||
)
|
||||
attack_success_enum.create(op.get_bind(), checkfirst=True)
|
||||
|
||||
op.add_column("tests", sa.Column("attack_success_new", attack_success_enum, nullable=True))
|
||||
|
||||
op.execute(
|
||||
"UPDATE tests SET attack_success_new = CASE "
|
||||
"WHEN attack_success = true THEN 'successful' "
|
||||
"WHEN attack_success = false THEN 'not_successful' "
|
||||
"ELSE NULL END"
|
||||
)
|
||||
|
||||
op.drop_column("tests", "attack_success")
|
||||
op.alter_column("tests", "attack_success_new", new_column_name="attack_success")
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.add_column("tests", sa.Column("attack_success_bool", sa.Boolean(), nullable=True))
|
||||
op.execute(
|
||||
"UPDATE tests SET attack_success_bool = CASE "
|
||||
"WHEN attack_success = 'successful' THEN true "
|
||||
"WHEN attack_success = 'not_successful' THEN false "
|
||||
"ELSE NULL END"
|
||||
)
|
||||
op.drop_column("tests", "attack_success")
|
||||
op.alter_column("tests", "attack_success_bool", new_column_name="attack_success")
|
||||
sa.Enum(name=_ENUM_NAME).drop(op.get_bind(), checkfirst=True)
|
||||
Reference in New Issue
Block a user