"""Messages aux bénévoles Revision ID: 0029_volunteer_messages Revises: 0028_badge_field_z_order Create Date: 2026-10-28 `edition.volunteer_message` : message de l'organisation, le même pour tous les bénévoles, saisi par la coordination. `position.message` : message du poste (consignes…), saisi par son référent, montré aux bénévoles affectés. Chacun avec la date de sa dernière modification (`*_updated_at`). """ from collections.abc import Sequence import sqlalchemy as sa from alembic import op revision: str = "0029_volunteer_messages" down_revision: str | None = "0028_badge_field_z_order" branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: op.add_column("edition", sa.Column("volunteer_message", sa.String(), nullable=True)) op.add_column( "edition", sa.Column("volunteer_message_updated_at", sa.DateTime(), nullable=True) ) op.add_column("position", sa.Column("message", sa.String(), nullable=True)) op.add_column("position", sa.Column("message_updated_at", sa.DateTime(), nullable=True)) def downgrade() -> None: op.drop_column("position", "message_updated_at") op.drop_column("position", "message") op.drop_column("edition", "volunteer_message_updated_at") op.drop_column("edition", "volunteer_message")