Нет описания

d207b4d13385_add_severity_to_cases.py 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. """Add severity to cases
  2. Revision ID: d207b4d13385
  3. Revises: d6c49c5435c2
  4. Create Date: 2023-11-28 11:50:08.136090
  5. """
  6. from alembic import op
  7. import sqlalchemy as sa
  8. from sqlalchemy import text
  9. from app.alembic.alembic_utils import _table_has_column
  10. # revision identifiers, used by Alembic.
  11. revision = 'd207b4d13385'
  12. down_revision = 'd6c49c5435c2'
  13. branch_labels = None
  14. depends_on = None
  15. def upgrade():
  16. if not _table_has_column('cases', 'severity_id'):
  17. op.add_column(
  18. 'cases',
  19. sa.Column('severity_id', sa.Integer, sa.ForeignKey('severities.severity_id'), nullable=True)
  20. )
  21. op.create_foreign_key(
  22. None, 'cases', 'severities', ['severity_id'], ['severity_id']
  23. )
  24. conn = op.get_bind()
  25. # Create the new severity if it doesn't exist already - we check first
  26. res = conn.execute(text(
  27. "SELECT severity_id FROM severities WHERE severity_name = 'Medium'"
  28. )).fetchone()
  29. if res is None:
  30. conn.execute(text(
  31. "INSERT INTO severities (severity_name, severity_description) VALUES ('Medium', 'Medium')"
  32. ))
  33. # Update the severity of all cases to the default severity
  34. conn.execute(text(
  35. "UPDATE cases SET severity_id = (SELECT severity_id FROM severities WHERE severity_name = 'Medium')"
  36. ))
  37. pass
  38. def downgrade():
  39. pass