# Generated by Django 5.2.6 on 2026-06-13 13:12

import uuid
from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name="FixtureRun",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                (
                    "created_at",
                    models.DateTimeField(
                        auto_now_add=True, db_index=True, verbose_name="created at"
                    ),
                ),
                ("updated_at", models.DateTimeField(auto_now=True, verbose_name="updated at")),
                (
                    "public_id",
                    models.UUIDField(
                        db_index=True,
                        default=uuid.uuid4,
                        editable=False,
                        unique=True,
                        verbose_name="public id",
                    ),
                ),
                (
                    "kind",
                    models.CharField(
                        choices=[
                            ("seed", "Seed"),
                            ("reset", "Reset"),
                            ("benchmark", "Benchmark"),
                            ("snapshot_create", "Snapshot Create"),
                            ("snapshot_restore", "Snapshot Restore"),
                        ],
                        db_index=True,
                        max_length=32,
                        verbose_name="run kind",
                    ),
                ),
                (
                    "tenant_slug",
                    models.CharField(
                        blank=True, default="", max_length=64, verbose_name="tenant slug"
                    ),
                ),
                (
                    "workspace_slug",
                    models.CharField(
                        blank=True, default="", max_length=64, verbose_name="workspace slug"
                    ),
                ),
                ("fixture_names", models.JSONField(default=list, verbose_name="fixture names")),
                (
                    "items_created",
                    models.PositiveIntegerField(default=0, verbose_name="items created"),
                ),
                (
                    "items_updated",
                    models.PositiveIntegerField(default=0, verbose_name="items updated"),
                ),
                (
                    "items_deleted",
                    models.PositiveIntegerField(default=0, verbose_name="items deleted"),
                ),
                ("duration_ms", models.PositiveIntegerField(default=0, verbose_name="duration ms")),
                ("success", models.BooleanField(default=True, verbose_name="success")),
                (
                    "error_message",
                    models.TextField(blank=True, default="", verbose_name="error message"),
                ),
                ("meta", models.JSONField(default=dict, verbose_name="metadata")),
            ],
            options={
                "verbose_name": "fixture run",
                "verbose_name_plural": "fixture runs",
                "ordering": ("-created_at",),
            },
        ),
        migrations.CreateModel(
            name="Snapshot",
            fields=[],
            options={
                "verbose_name": "snapshot",
                "verbose_name_plural": "snapshots",
                "proxy": True,
                "indexes": [],
                "constraints": [],
            },
            bases=("provisioning.fixturerun",),
        ),
    ]
