#!/usr/bin/env python3 """ Erstellt Standard-Schuljahre für österreichische Schulen Führe dieses Skript nach der Migration aus, um Standard-Perioden zu erstellen. """ from datetime import date from models.models import AcademicPeriod, AcademicPeriodType from server.database import Session import sys sys.path.append('/workspace') def create_default_academic_periods(): """Erstellt Standard-Schuljahre für österreichische Schulen""" session = Session() try: # Prüfe ob bereits Perioden existieren existing = session.query(AcademicPeriod).first() if existing: print("Academic periods already exist. Skipping creation.") return # Standard Schuljahre erstellen periods = [ { 'name': 'Schuljahr 2024/25', 'display_name': 'SJ 24/25', 'start_date': date(2024, 9, 2), 'end_date': date(2025, 7, 4), 'period_type': AcademicPeriodType.schuljahr, 'is_active': True # Aktuelles Schuljahr }, { 'name': 'Schuljahr 2025/26', 'display_name': 'SJ 25/26', 'start_date': date(2025, 9, 1), 'end_date': date(2026, 7, 3), 'period_type': AcademicPeriodType.schuljahr, 'is_active': False }, { 'name': 'Schuljahr 2026/27', 'display_name': 'SJ 26/27', 'start_date': date(2026, 9, 7), 'end_date': date(2027, 7, 2), 'period_type': AcademicPeriodType.schuljahr, 'is_active': False } ] for period_data in periods: period = AcademicPeriod(**period_data) session.add(period) session.commit() print(f"Successfully created {len(periods)} academic periods") # Zeige erstellte Perioden for period in session.query(AcademicPeriod).all(): status = "AKTIV" if period.is_active else "inaktiv" print( f" - {period.name} ({period.start_date} - {period.end_date}) [{status}]") except Exception as e: session.rollback() print(f"Error creating academic periods: {e}") finally: session.close() if __name__ == "__main__": create_default_academic_periods()