# Generated by Django 6.1 on 2026-08-26 11:38 import django.db.models.deletion import uuid from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Contact', fields=[ ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('email', models.EmailField(blank=True, max_length=254, null=True, unique=True)), ('phone', models.CharField(blank=True, max_length=32)), ('first_name', models.CharField(blank=True, max_length=100)), ('last_name', models.CharField(blank=True, max_length=100)), ('postal_address', models.JSONField(blank=True, default=dict)), ('source', models.CharField(choices=[('contact_form', 'Contact form'), ('import', 'Import'), ('manual', 'Manual'), ('notify_me', 'Notify me'), ('other', 'Other')], default='other', max_length=32)), ('notes', models.TextField(blank=True)), ], options={ 'ordering': ['-created_at'], }, ), migrations.CreateModel( name='ConsentRecord', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('channel', models.CharField(choices=[('email', 'Email'), ('sms', 'SMS'), ('postcard', 'Postcard')], max_length=16)), ('opted_in', models.BooleanField(default=False)), ('changed_at', models.DateTimeField(auto_now=True)), ('reason', models.CharField(blank=True, max_length=255)), ('contact', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='consents', to='contacts.contact')), ], options={ 'ordering': ['-changed_at'], 'unique_together': {('contact', 'channel')}, }, ), migrations.CreateModel( name='Suppression', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('channel', models.CharField(choices=[('email', 'Email'), ('sms', 'SMS'), ('postcard', 'Postcard')], max_length=16)), ('reason', models.CharField(blank=True, max_length=255)), ('active', models.BooleanField(default=True)), ('contact', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='suppressions', to='contacts.contact')), ], options={ 'unique_together': {('contact', 'channel')}, }, ), ]