# Generated by Django 2.2.11 on 2021-05-26 19:39

import django.contrib.postgres.fields.jsonb
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):
    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ("database", "0029_phonenumberfield"),
    ]

    operations = [
        migrations.CreateModel(
            name="ExportJob",
            fields=[
                (
                    "id",
                    models.AutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("exporter_type", models.TextField()),
                (
                    "status",
                    models.TextField(
                        choices=[
                            ("pending", "pending"),
                            ("exporting", "exporting"),
                            ("cancelled", "cancelled"),
                            ("complete", "complete"),
                            ("failed", "failed"),
                            ("expired", "expired"),
                        ]
                    ),
                ),
                ("exported_file_name", models.TextField(blank=True, null=True)),
                ("error", models.TextField(blank=True, null=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("progress_percentage", models.FloatField(default=0.0)),
                ("export_options", django.contrib.postgres.fields.jsonb.JSONField()),
                (
                    "table",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE, to="database.Table"
                    ),
                ),
                (
                    "user",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "view",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="database.View",
                    ),
                ),
            ],
        ),
        migrations.AddIndex(
            model_name="exportjob",
            index=models.Index(
                fields=["created_at", "user", "status"],
                name="database_ex_created_6af425_idx",
            ),
        ),
    ]
