"""Add Lesson Reflections Table (Phase 5: Analytics) Erstellt die lesson_reflections Tabelle fuer Post-Lesson Reflexionen. Revision ID: 005 Revises: 004 Create Date: 2026-01-15 18:00:00 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = '005' down_revision: Union[str, None] = '004' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: op.create_table( 'lesson_reflections', sa.Column('id', sa.String(36), primary_key=True), sa.Column('session_id', sa.String(36), sa.ForeignKey('lesson_sessions.id'), nullable=False, unique=True, index=True), sa.Column('teacher_id', sa.String(100), nullable=False, index=True), sa.Column('notes', sa.Text(), default=''), sa.Column('overall_rating', sa.Integer(), nullable=True), sa.Column('what_worked', sa.JSON(), default=list), sa.Column('improvements', sa.JSON(), default=list), sa.Column('notes_for_next_lesson', sa.Text(), default=''), sa.Column('created_at', sa.DateTime(), server_default=sa.func.now()), sa.Column('updated_at', sa.DateTime(), server_default=sa.func.now(), onupdate=sa.func.now()), ) def downgrade() -> None: op.drop_table('lesson_reflections')