# Generated by Django 5.2.6 on 2025-09-27 10:14

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):
    dependencies = [
        ("content", "0039_studentmarksheet_studentmarksheetitem"),
    ]

    operations = [
        # 1) NEW FIELDS FIRST
        migrations.AddField(
            model_name="subject",
            name="school_class",
            field=models.ForeignKey(
                to="content.academicclass",
                on_delete=django.db.models.deletion.PROTECT,
                related_name="subjects",
                null=True, blank=True,         # TEMP: allow null/blank for first pass
            ),
        ),
        migrations.AddField(
            model_name="subject",
            name="name",
            field=models.CharField(
                max_length=120,
                blank=True, default="",        # TEMP: allow blank/default for first pass
            ),
        ),
        migrations.AddField(
            model_name="subject",
            name="order",
            field=models.PositiveIntegerField(default=0),
        ),
        migrations.AddField(
            model_name="subject",
            name="is_active",
            field=models.BooleanField(default=True),
        ),

        # 2) REMOVE OLD FIELDS
        migrations.RemoveField(model_name="subject", name="code"),
        migrations.RemoveField(model_name="subject", name="title"),

        # 3) NOW it’s safe to reference the new fields
        migrations.AlterUniqueTogether(
            name="subject",
            unique_together={("school_class", "name")},
        ),

        # (any AlterModelOptions for Subject / ClassResultSubjectAvg can sit anywhere after the adds)
    ]
