Статус устройства (Активен / Выключен / На обслуживании), назначается вручную на экране устройств: колонка «Статус», выбор в диалоге, смена — в журнал. Миграция 0016, существующие устройства — «Активен». В списке адресов префикса колонки «Тип устройства», «Устройство», «Статус устройства» (join без N+1). pytest не прогнан: учётная запись admin из .env отключена на стенде. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
29 lines
790 B
Python
29 lines
790 B
Python
"""Статус устройства: active | off | maintenance (изменение 039)
|
|
|
|
Revision ID: 0016
|
|
Revises: 0015
|
|
"""
|
|
import sqlalchemy as sa
|
|
from alembic import op
|
|
from sqlalchemy.dialects import postgresql
|
|
|
|
revision = "0016"
|
|
down_revision = "0015"
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
device_status = postgresql.ENUM("active", "off", "maintenance", name="device_status")
|
|
|
|
|
|
def upgrade() -> None:
|
|
device_status.create(op.get_bind(), checkfirst=True)
|
|
op.add_column(
|
|
"devices",
|
|
sa.Column("status", device_status, nullable=False, server_default="active"), # существующие устройства — «Активен»
|
|
)
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.drop_column("devices", "status")
|
|
device_status.drop(op.get_bind(), checkfirst=True)
|