from django.db import migrations, models


def backfill_trip_unique_ids(apps, schema_editor):
    Trip = apps.get_model('core', 'Trip')
    for trip in Trip.objects.order_by('id').iterator():
        trip.unique_id = f'SH-{trip.pk:05d}'
        trip.save(update_fields=['unique_id'])


class Migration(migrations.Migration):

    dependencies = [
        ('core', '0019_shipment_is_return'),
    ]

    operations = [
        migrations.AddField(
            model_name='trip',
            name='unique_id',
            field=models.CharField(blank=True, editable=False, max_length=12, null=True, unique=True),
        ),
        migrations.RunPython(backfill_trip_unique_ids, migrations.RunPython.noop),
        migrations.AlterField(
            model_name='trip',
            name='unique_id',
            field=models.CharField(blank=True, editable=False, max_length=12, unique=True),
        ),
    ]
