privaterelay/migrations/0010_move_profile_and_registered_subdomain_models.py (151 lines of code) (raw):

# Generated by Django 4.2.13 on 2024-06-07 22:27 # Move Profile and RegisteredSubdomain to privaterelay app # Other half is # emails/migrations/0062_move_profile_and_registered_subdomain_models.py # See https://davit.hashnode.dev/django-move-model, solution #2 import uuid import django.db.models.deletion from django.conf import settings from django.db import migrations, models from privaterelay.validators import valid_available_subdomain class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ("privaterelay", "0009_remove_duplicate_index"), ("emails", "0062_move_profile_and_registered_subdomain_models"), ] state_operations = [ migrations.CreateModel( name="RegisteredSubdomain", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "subdomain_hash", models.CharField(db_index=True, max_length=64, unique=True), ), ("registered_at", models.DateTimeField(auto_now_add=True)), ], options={ "db_table": "emails_registeredsubdomain", }, ), migrations.CreateModel( name="Profile", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("api_token", models.UUIDField(default=uuid.uuid4)), ("num_address_deleted", models.PositiveIntegerField(default=0)), ("date_subscribed", models.DateTimeField(blank=True, null=True)), ("date_subscribed_phone", models.DateTimeField(blank=True, null=True)), ( "date_phone_subscription_checked", models.DateTimeField(blank=True, null=True), ), ( "date_phone_subscription_start", models.DateTimeField(blank=True, null=True), ), ( "date_phone_subscription_reset", models.DateTimeField(blank=True, null=True), ), ( "date_phone_subscription_end", models.DateTimeField(blank=True, null=True), ), ( "address_last_deleted", models.DateTimeField(blank=True, db_index=True, null=True), ), ( "last_soft_bounce", models.DateTimeField(blank=True, db_index=True, null=True), ), ( "last_hard_bounce", models.DateTimeField(blank=True, db_index=True, null=True), ), ( "last_account_flagged", models.DateTimeField(blank=True, db_index=True, null=True), ), ("num_deleted_relay_addresses", models.PositiveIntegerField(default=0)), ( "num_deleted_domain_addresses", models.PositiveIntegerField(default=0), ), ( "num_email_forwarded_in_deleted_address", models.PositiveIntegerField(default=0), ), ( "num_email_blocked_in_deleted_address", models.PositiveIntegerField(default=0), ), ( "num_level_one_trackers_blocked_in_deleted_address", models.PositiveIntegerField(default=0, null=True), ), ( "num_email_replied_in_deleted_address", models.PositiveIntegerField(default=0), ), ( "num_email_spam_in_deleted_address", models.PositiveIntegerField(default=0), ), ( "subdomain", models.CharField( blank=True, db_index=True, max_length=63, null=True, unique=True, validators=[valid_available_subdomain], ), ), ("server_storage", models.BooleanField(default=True)), ("store_phone_log", models.BooleanField(default=True)), ( "remove_level_one_email_trackers", models.BooleanField(default=False, null=True), ), ("onboarding_state", models.PositiveIntegerField(default=0)), ("onboarding_free_state", models.PositiveIntegerField(default=0)), ("auto_block_spam", models.BooleanField(default=False)), ("forwarded_first_reply", models.BooleanField(default=False)), ("created_by", models.CharField(blank=True, max_length=63, null=True)), ("sent_welcome_email", models.BooleanField(default=False)), ( "last_engagement", models.DateTimeField(blank=True, db_index=True, null=True), ), ( "user", models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, ), ), ], options={ "db_table": "emails_profile", }, ), ] operations = [ migrations.SeparateDatabaseAndState(state_operations=state_operations), ]