# Generated by Django 6.0 on 2026-01-26 00:00 import django.db.models.deletion import django_tidb.fields from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ ("labs", "0060_examattempt_submitted_expires_index"), ] operations = [ migrations.CreateModel( name="ExamVoucher", fields=[ ( "id", django_tidb.fields.BigAutoRandomField( primary_key=True, range=64, serialize=False, shard_bits=5 ), ), ("unique_code", models.CharField(max_length=34, unique=True)), ("valid_before", models.DateField(blank=True, null=True)), ( "used", models.CharField( choices=[("N", "N"), ("Y", "Y")], default="N", max_length=1 ), ), ("redeem_at", models.DateTimeField(blank=True, null=True)), ("marketing_code", models.CharField(blank=True, default="", max_length=100)), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ( "exam", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="labs.exam" ), ), ( "redeem_by", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL, ), ), ], options={ "db_table": "exam_vouchers", }, ), migrations.AddIndex( model_name="examvoucher", index=models.Index(fields=["exam", "used"], name="idx_ev_exam_used"), ), ]