"""Créneau : lien optionnel vers le créneau type (day_part) Revision ID: 0004_shift_day_part Revises: 0003_drop_assignment_status Create Date: 2026-09-10 """ from collections.abc import Sequence import sqlalchemy as sa from alembic import op revision: str = "0004_shift_day_part" down_revision: str | None = "0003_drop_assignment_status" branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None _FK = "shift_day_part_id_fkey" def upgrade() -> None: op.add_column("shift", sa.Column("day_part_id", sa.Uuid(), nullable=True)) op.create_index("ix_shift_day_part_id", "shift", ["day_part_id"]) op.create_foreign_key( _FK, "shift", "day_part", ["day_part_id"], ["id"], ondelete="SET NULL" ) def downgrade() -> None: op.drop_constraint(_FK, "shift", type_="foreignkey") op.drop_index("ix_shift_day_part_id", table_name="shift") op.drop_column("shift", "day_part_id")