utp_service/backend/alembic/versions/0018_object_status_baseline.py
2026-05-05 22:57:14 +03:00

35 lines
1.3 KiB
Python

"""0018 object status baseline
Revision ID: 0018
Revises: 0017
Create Date: 2026-05-05
"""
from alembic import op
import sqlalchemy as sa
revision = "0018"
down_revision = "0017"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.create_table(
"dashboard_object_status_baseline",
sa.Column("id", sa.Integer(), primary_key=True),
sa.Column("object_id", sa.Integer(), sa.ForeignKey("objects.id", ondelete="CASCADE"), nullable=False),
sa.Column("device_id", sa.Integer(), sa.ForeignKey("devices.id", ondelete="CASCADE"), nullable=False),
sa.Column("baseline_status", sa.String(length=20), nullable=False),
sa.Column("saved_at", sa.DateTime(timezone=True), nullable=False),
sa.UniqueConstraint("object_id", "device_id", name="uq_baseline_object_device"),
)
op.create_index("ix_baseline_object_id", "dashboard_object_status_baseline", ["object_id"])
op.create_index("ix_baseline_device_id", "dashboard_object_status_baseline", ["device_id"])
def downgrade() -> None:
op.drop_index("ix_baseline_device_id", table_name="dashboard_object_status_baseline")
op.drop_index("ix_baseline_object_id", table_name="dashboard_object_status_baseline")
op.drop_table("dashboard_object_status_baseline")