- Add AcademicPeriod model with support for schuljahr/semester/trimester - Extend Event and EventMedia models with optional academic_period_id - Create Alembic migration (8d1df7199cb7) for academic periods system - Add init script for Austrian school year defaults (2024/25-2026/27) - Maintain full backward compatibility for existing events/media - Update program-info.json to version 2025.1.0-alpha.6 Database changes: - New academic_periods table with unique name constraint - Foreign key relationships with proper indexing - Support for multiple period types with single active period This lays the foundation for period-based organization of events and media content, specifically designed for school environments with future extensibility for universities.
29 lines
597 B
Python
29 lines
597 B
Python
"""merge heads after holidays table
|
|
|
|
Revision ID: 71ba7ab08d84
|
|
Revises: 216402147826, 9b7a1f2a4d2b
|
|
Create Date: 2025-09-18 19:04:12.755422
|
|
|
|
"""
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = '71ba7ab08d84'
|
|
down_revision: Union[str, None] = ('216402147826', '9b7a1f2a4d2b')
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
"""Upgrade schema."""
|
|
pass
|
|
|
|
|
|
def downgrade() -> None:
|
|
"""Downgrade schema."""
|
|
pass
|