Bladeren bron

chore(api): cleaned up migrations

Warning: this disables downgrading to anywhere between 0001 and 0022
and disabled upgrading from anywhere between 0001 and 0022 to a current
version.
Nils Wisiol 6 jaren geleden
bovenliggende
commit
648a1a7a5c

+ 0 - 46
api/desecapi/migrations/0001_initial.py

@@ -1,46 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-import django.utils.timezone
-from django.conf import settings
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-    ]
-
-    operations = [
-        migrations.CreateModel(
-            name='User',
-            fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('password', models.CharField(max_length=128, verbose_name='password')),
-                ('last_login', models.DateTimeField(default=django.utils.timezone.now, verbose_name='last login')),
-                ('email', models.EmailField(unique=True, max_length=191, verbose_name=b'email address')),
-                ('is_active', models.BooleanField(default=True)),
-                ('is_admin', models.BooleanField(default=False)),
-            ],
-            options={
-                'abstract': False,
-            },
-            bases=(models.Model,),
-        ),
-        migrations.CreateModel(
-            name='Domain',
-            fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('created', models.DateTimeField(auto_now_add=True)),
-                ('name', models.CharField(unique=True, max_length=191)),
-                ('arecord', models.CharField(max_length=255, blank=True)),
-                ('aaaarecord', models.CharField(max_length=1024, blank=True)),
-                ('dyn', models.BooleanField(default=False)),
-                ('owner', models.ForeignKey(related_name='domains', on_delete=models.PROTECT, to=settings.AUTH_USER_MODEL)),
-            ],
-            options={
-                'ordering': ('created',),
-            },
-            bases=(models.Model,),
-        ),
-    ]

+ 107 - 0
api/desecapi/migrations/0001_squashed_0022_domain_published.py

@@ -0,0 +1,107 @@
+import desecapi.models
+from django.conf import settings
+import django.core.validators
+from django.db import migrations, models
+import django.utils.timezone
+import uuid
+
+
+class Migration(migrations.Migration):
+
+    replaces = [('desecapi', '0001_initial'), ('desecapi', '0002_donation'), ('desecapi', '0003_auto_20151008_1023'), ('desecapi', '0004_remove_donation_rip'), ('desecapi', '0005_auto_20151008_1042'), ('desecapi', '0006_auto_20151018_1234'), ('desecapi', '0007_domain_updated'), ('desecapi', '0008_django_update_1-10'), ('desecapi', '0009_auto_20161201_1548'), ('desecapi', '0010_auto_20161219_1242'), ('desecapi', '0011_user_limit_domains'), ('desecapi', '0012_move_dyn_flag'), ('desecapi', '0013_acme_challenge'), ('desecapi', '0014_ip_validation'), ('desecapi', '0015_rrset'), ('desecapi', '0016_dyn_flag_default'), ('desecapi', '0017_rr_model'), ('desecapi', '0018_prune_domain_fields'), ('desecapi', '0019_rrset_uuid'), ('desecapi', '0020_user_locked'), ('desecapi', '0021_tokens'), ('desecapi', '0022_domain_published')]
+
+    initial = True
+
+    dependencies = [
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='User',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('password', models.CharField(max_length=128, verbose_name='password')),
+                ('last_login', models.DateTimeField(default=django.utils.timezone.now, blank=True, null=True, verbose_name='last login')),
+                ('email', models.EmailField(max_length=191, unique=True, verbose_name='email address')),
+                ('is_active', models.BooleanField(default=True)),
+                ('is_admin', models.BooleanField(default=False)),
+                ('registration_remote_ip', models.CharField(blank=True, max_length=1024)),
+                ('created', models.DateTimeField(auto_now_add=True)),
+                ('limit_domains', models.IntegerField(blank=True, default=5, null=True)),
+                ('dyn', models.BooleanField(default=False)),
+                ('locked', models.DateTimeField(blank=True, null=True)),
+            ],
+            options={
+                'abstract': False,
+            },
+        ),
+        migrations.CreateModel(
+            name='Donation',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('created', models.DateTimeField(default=desecapi.models.get_default_value_created)),
+                ('name', models.CharField(max_length=255)),
+                ('iban', models.CharField(max_length=34)),
+                ('bic', models.CharField(max_length=11)),
+                ('amount', models.DecimalField(decimal_places=2, max_digits=8)),
+                ('message', models.CharField(blank=True, max_length=255)),
+                ('due', models.DateTimeField(default=desecapi.models.get_default_value_due)),
+                ('mref', models.CharField(default=desecapi.models.get_default_value_mref, max_length=32, blank=True)),
+                ('email', models.EmailField(blank=True, max_length=255)),
+            ],
+            options={
+                'ordering': ('created',),
+            },
+        ),
+        migrations.CreateModel(
+            name='Domain',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('created', models.DateTimeField(auto_now_add=True)),
+                ('name', models.CharField(max_length=191, unique=True)),
+                ('owner', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='domains', to=settings.AUTH_USER_MODEL)),
+                ('published', models.DateTimeField(null=True)),
+            ],
+            options={
+                'ordering': ('created',),
+            },
+        ),
+        migrations.CreateModel(
+            name='RRset',
+            fields=[
+                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
+                ('created', models.DateTimeField(auto_now_add=True)),
+                ('updated', models.DateTimeField(null=True)),
+                ('subname', models.CharField(blank=True, max_length=178)),
+                ('type', models.CharField(max_length=10, validators=[desecapi.models.validate_upper])),
+                ('ttl', models.PositiveIntegerField(validators=[django.core.validators.MinValueValidator(1)])),
+                ('domain', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rrsets', to='desecapi.Domain')),
+            ],
+            options={
+                'unique_together': {('domain', 'subname', 'type')},
+            },
+        ),
+        migrations.CreateModel(
+            name='RR',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('created', models.DateTimeField(auto_now_add=True)),
+                ('content', models.CharField(max_length=4092)),
+                ('rrset', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='records', to='desecapi.RRset')),
+            ],
+        ),
+        migrations.CreateModel(
+            name='Token',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')),
+                ('key', models.CharField(db_index=True, max_length=40, unique=True, verbose_name='Key')),
+                ('name', models.CharField(default='', max_length=64, verbose_name='Name')),
+                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='auth_tokens', to=settings.AUTH_USER_MODEL, verbose_name='User')),
+                ('user_specific_id', models.BigIntegerField(verbose_name='User-Specific ID')),
+            ],
+            options={
+                'unique_together': {('user', 'user_specific_id')},
+            },
+        ),
+    ]

+ 0 - 34
api/desecapi/migrations/0002_donation.py

@@ -1,34 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0001_initial'),
-    ]
-
-    operations = [
-        migrations.CreateModel(
-            name='Donation',
-            fields=[
-                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
-                ('created', models.DateTimeField(auto_now_add=True)),
-                ('name', models.CharField(unique=True, max_length=191)),
-                ('iban', models.CharField(max_length=34, blank=True)),
-                ('bic', models.CharField(max_length=11, blank=True)),
-                ('amount', models.DecimalField(max_digits=8, decimal_places=2)),
-                ('message', models.CharField(unique=True, max_length=191)),
-                ('due', models.DateTimeField()),
-                ('mref', models.CharField(max_length=11, blank=True)),
-                ('rip', models.CharField(max_length=39, blank=True)),
-                ('email', models.EmailField(max_length=255)),
-            ],
-            options={
-                'ordering': ('created',),
-            },
-            bases=(models.Model,),
-        ),
-    ]

+ 0 - 26
api/desecapi/migrations/0003_auto_20151008_1023.py

@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0002_donation'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='donation',
-            name='created',
-            field=models.DateTimeField(),
-            preserve_default=True,
-        ),
-        migrations.AlterField(
-            model_name='donation',
-            name='mref',
-            field=models.CharField(max_length=32, blank=True),
-            preserve_default=True,
-        ),
-    ]

+ 0 - 18
api/desecapi/migrations/0004_remove_donation_rip.py

@@ -1,18 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0003_auto_20151008_1023'),
-    ]
-
-    operations = [
-        migrations.RemoveField(
-            model_name='donation',
-            name='rip',
-        ),
-    ]

+ 0 - 50
api/desecapi/migrations/0005_auto_20151008_1042.py

@@ -1,50 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0004_remove_donation_rip'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='donation',
-            name='bic',
-            field=models.CharField(max_length=11),
-            preserve_default=True,
-        ),
-        migrations.AlterField(
-            model_name='donation',
-            name='email',
-            field=models.EmailField(max_length=255, blank=True),
-            preserve_default=True,
-        ),
-        migrations.AlterField(
-            model_name='donation',
-            name='iban',
-            field=models.CharField(max_length=34),
-            preserve_default=True,
-        ),
-        migrations.AlterField(
-            model_name='donation',
-            name='message',
-            field=models.CharField(max_length=255, blank=True),
-            preserve_default=True,
-        ),
-        migrations.AlterField(
-            model_name='donation',
-            name='mref',
-            field=models.CharField(max_length=32),
-            preserve_default=True,
-        ),
-        migrations.AlterField(
-            model_name='donation',
-            name='name',
-            field=models.CharField(max_length=255),
-            preserve_default=True,
-        ),
-    ]

+ 0 - 33
api/desecapi/migrations/0006_auto_20151018_1234.py

@@ -1,33 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-import desecapi.models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0005_auto_20151008_1042'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='donation',
-            name='created',
-            field=models.DateTimeField(default=desecapi.models.get_default_value_created),
-            preserve_default=True,
-        ),
-        migrations.AlterField(
-            model_name='donation',
-            name='due',
-            field=models.DateTimeField(default=desecapi.models.get_default_value_due),
-            preserve_default=True,
-        ),
-        migrations.AlterField(
-            model_name='donation',
-            name='mref',
-            field=models.CharField(default=desecapi.models.get_default_value_mref, max_length=32),
-            preserve_default=True,
-        ),
-    ]

+ 0 - 20
api/desecapi/migrations/0007_domain_updated.py

@@ -1,20 +0,0 @@
-# -*- coding: utf-8 -*-
-from __future__ import unicode_literals
-
-from django.db import models, migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0006_auto_20151018_1234'),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name='domain',
-            name='updated',
-            field=models.DateTimeField(null=True),
-            preserve_default=True,
-        ),
-    ]

+ 0 - 25
api/desecapi/migrations/0008_django_update_1-10.py

@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.10.3 on 2016-11-18 17:52
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0007_domain_updated'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='user',
-            name='email',
-            field=models.EmailField(max_length=191, unique=True, verbose_name='email address'),
-        ),
-        migrations.AlterField(
-            model_name='user',
-            name='last_login',
-            field=models.DateTimeField(blank=True, null=True, verbose_name='last login'),
-        ),
-    ]

+ 0 - 23
api/desecapi/migrations/0009_auto_20161201_1548.py

@@ -1,23 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.10.3 on 2016-12-01 15:48
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0008_django_update_1-10'),
-    ]
-
-    operations = [
-        migrations.RunSQL(
-            [('alter table desecapi_user change column email email varchar(191) not null;', None)],
-            migrations.RunSQL.noop
-        ),
-        migrations.RunSQL(
-            [('alter table desecapi_domain change column name name varchar(191) not null;', None)],
-            migrations.RunSQL.noop
-        ),
-    ]

+ 0 - 30
api/desecapi/migrations/0010_auto_20161219_1242.py

@@ -1,30 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.10.3 on 2016-12-19 12:42
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0009_auto_20161201_1548'),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name='user',
-            name='captcha_required',
-            field=models.BooleanField(default=False),
-        ),
-        migrations.AddField(
-            model_name='user',
-            name='registration_remote_ip',
-            field=models.CharField(blank=True, max_length=1024),
-        ),
-        migrations.AddField(
-            model_name='user',
-            name='created',
-            field=models.DateTimeField(auto_now_add=True),
-        ),
-    ]

+ 0 - 20
api/desecapi/migrations/0011_user_limit_domains.py

@@ -1,20 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.10.3 on 2016-12-27 07:59
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0010_auto_20161219_1242'),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name='user',
-            name='limit_domains',
-            field=models.IntegerField(blank=True, default=5, null=True),
-        ),
-    ]

+ 0 - 24
api/desecapi/migrations/0012_move_dyn_flag.py

@@ -1,24 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.10.3 on 2017-01-24 14:11
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0011_user_limit_domains'),
-    ]
-
-    operations = [
-        migrations.RemoveField(
-            model_name='domain',
-            name='dyn',
-        ),
-        migrations.AddField(
-            model_name='user',
-            name='dyn',
-            field=models.BooleanField(default=True),
-        ),
-    ]

+ 0 - 20
api/desecapi/migrations/0013_acme_challenge.py

@@ -1,20 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.10.3 on 2016-12-27 07:59
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0012_move_dyn_flag'),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name='domain',
-            name='acme_challenge',
-            field=models.CharField(max_length=255, blank=True),
-        ),
-    ]

+ 0 - 25
api/desecapi/migrations/0014_ip_validation.py

@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.10.3 on 2017-01-11 15:28
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0013_acme_challenge'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='domain',
-            name='aaaarecord',
-            field=models.GenericIPAddressField(blank=False, null=True, protocol='IPv6'),
-        ),
-        migrations.AlterField(
-            model_name='domain',
-            name='arecord',
-            field=models.GenericIPAddressField(blank=False, null=True, protocol='IPv4'),
-        ),
-    ]

+ 0 - 47
api/desecapi/migrations/0015_rrset.py

@@ -1,47 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.10.3 on 2017-05-08 13:20
-from __future__ import unicode_literals
-
-import desecapi.models
-import django.core.validators
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0014_ip_validation'),
-    ]
-
-    operations = [
-        migrations.CreateModel(
-            name='RRset',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('created', models.DateTimeField(auto_now_add=True)),
-                ('updated', models.DateTimeField(null=True)),
-                ('subname', models.CharField(blank=True, max_length=178)),
-                ('type', models.CharField(max_length=10, validators=[desecapi.models.validate_upper])),
-                # max_length is due to row length limit and lifted later when we switch the charset from utf8 to latin1.
-                ('records', models.CharField(blank=True, max_length=16000)),
-                ('ttl', models.PositiveIntegerField(validators=[django.core.validators.MinValueValidator(1)])),
-                ('domain', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rrsets', to='desecapi.Domain')),
-            ],
-        ),
-        migrations.AlterUniqueTogether(
-            name='rrset',
-            unique_together=set([('domain', 'subname', 'type')]),
-        ),
-        # Here we extend the row length as we change the charset accordingly.  We also tell Django what the new field state is.
-        migrations.RunSQL(
-            "ALTER TABLE desecapi_rrset MODIFY records VARCHAR(64000) CHARACTER SET latin1 NOT NULL;",
-            state_operations=[
-                migrations.AlterField(
-                    model_name='rrset',
-                    name='records',
-                    field=models.CharField(blank=True, max_length=64000),
-                ),
-            ],
-        ),
-    ]

+ 0 - 20
api/desecapi/migrations/0016_dyn_flag_default.py

@@ -1,20 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.10.3 on 2017-07-28 21:39
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0015_rrset'),
-    ]
-
-    operations = [
-        migrations.AlterField(
-            model_name='user',
-            name='dyn',
-            field=models.BooleanField(default=False),
-        ),
-    ]

+ 0 - 38
api/desecapi/migrations/0017_rr_model.py

@@ -1,38 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.4 on 2017-08-29 00:57
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0016_dyn_flag_default'),
-    ]
-
-    operations = [
-        migrations.CreateModel(
-            name='RR',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('created', models.DateTimeField(auto_now_add=True)),
-                ('content', models.CharField(max_length=4092)),
-            ],
-        ),
-        migrations.RemoveField(
-            model_name='rrset',
-            name='records',
-        ),
-        migrations.AlterField(
-            model_name='rrset',
-            name='domain',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='desecapi.Domain'),
-        ),
-        migrations.AddField(
-            model_name='rr',
-            name='rrset',
-            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='records', to='desecapi.RRset'),
-        ),
-    ]

+ 0 - 31
api/desecapi/migrations/0018_prune_domain_fields.py

@@ -1,31 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.4 on 2017-08-26 22:55
-from __future__ import unicode_literals
-
-from django.db import migrations
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0017_rr_model'),
-    ]
-
-    operations = [
-        migrations.RemoveField(
-            model_name='domain',
-            name='aaaarecord',
-        ),
-        migrations.RemoveField(
-            model_name='domain',
-            name='acme_challenge',
-        ),
-        migrations.RemoveField(
-            model_name='domain',
-            name='arecord',
-        ),
-        migrations.RemoveField(
-            model_name='domain',
-            name='updated',
-        ),
-    ]

+ 0 - 41
api/desecapi/migrations/0019_rrset_uuid.py

@@ -1,41 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.4 on 2017-09-15 08:10
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-import uuid
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0018_prune_domain_fields'),
-    ]
-
-    operations = [
-        # This code is generated by manage.py sqlmigrate based on the below AlterField statement.
-        # Unfortunately, a wrong SQL statement sneaks in when the migration is run in sequence
-        # with all other migrations, causing an error. (To reproduce, start from a fresh database,
-        # and observe the database query logs).
-        # Applying all but this migration and then applying this migration works fine. To make
-        # sure that the migration works in all scenarios, we manually enforce the SQL statements
-        # that are run when the migration is applied alone. (As observed in database query log.)
-        migrations.RunSQL(
-            [
-                "ALTER TABLE `desecapi_rr` DROP FOREIGN KEY `desecapi_rr_rrset_id_675bf73d_fk_desecapi_rrset_id`;",
-                "ALTER TABLE `desecapi_rrset` MODIFY `id` char(32) NOT NULL;",
-                "ALTER TABLE `desecapi_rrset` ALTER COLUMN `id` SET DEFAULT 'b748720af78149fdb17c2ee2f284262d';",
-                "ALTER TABLE `desecapi_rr` MODIFY `rrset_id` char(32) NOT NULL;",
-                "ALTER TABLE `desecapi_rr` ADD CONSTRAINT `desecapi_rr_rrset_id_675bf73d_fk` FOREIGN KEY (`rrset_id`) REFERENCES `desecapi_rrset` (`id`);",
-                "ALTER TABLE `desecapi_rrset` ALTER COLUMN `id` DROP DEFAULT;",
-            ],
-            state_operations=[
-                migrations.AlterField(
-                    model_name='rrset',
-                    name='id',
-                    field=models.UUIDField(default=uuid.uuid4, editable=False,
-                                           primary_key=True, serialize=False),
-                ),
-            ],
-        ),
-    ]

+ 0 - 42
api/desecapi/migrations/0020_user_locked.py

@@ -1,42 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.8 on 2017-12-15 19:01
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-from django.utils import timezone
-
-
-def forward_convert(apps, schema_editor):
-    User = apps.get_model('desecapi', 'User')
-    for user in User.objects.all().iterator():
-        if user.captcha_required:
-            user.locked = timezone.now()
-            user.save()
-
-
-def reverse_convert(apps, schema_editor):
-    User = apps.get_model('desecapi', 'User')
-    for user in User.objects.all().iterator():
-        if user.locked:
-            user.captcha_required = True
-            user.save()
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0019_rrset_uuid'),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name='user',
-            name='locked',
-            field=models.DateTimeField(blank=True, null=True),
-        ),
-        migrations.RunPython(forward_convert, reverse_convert),
-        migrations.RemoveField(
-            model_name='user',
-            name='captcha_required',
-        ),
-    ]

+ 0 - 32
api/desecapi/migrations/0021_tokens.py

@@ -1,32 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.15 on 2018-08-24 15:08
-from __future__ import unicode_literals
-
-from django.conf import settings
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0020_user_locked'),
-    ]
-
-    operations = [
-        migrations.CreateModel(
-            name='Token',
-            fields=[
-                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
-                ('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')),
-                ('key', models.CharField(db_index=True, max_length=40, unique=True, verbose_name='Key')),
-                ('name', models.CharField(default='', max_length=64, verbose_name='Name')),
-                ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='auth_tokens', to=settings.AUTH_USER_MODEL, verbose_name='User')),
-                ('user_specific_id', models.BigIntegerField(verbose_name='User-Specific ID')),
-            ],
-        ),
-        migrations.AlterUniqueTogether(
-            name='token',
-            unique_together=set([('user', 'user_specific_id')]),
-        ),
-    ]

+ 0 - 38
api/desecapi/migrations/0022_domain_published.py

@@ -1,38 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.11.15 on 2018-09-17 15:00
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-from django.db.models import Max
-
-
-def forward_convert(apps, schema_editor):
-    # This probably could be done in a single query using
-    # https://stackoverflow.com/questions/48119049/django-using-an-annotated-aggregate-in-queryset-update/48212331#48212331
-    Domain = apps.get_model('desecapi', 'Domain')
-    RRset = apps.get_model('desecapi', 'RRset')
-    for domain in Domain.objects.all().iterator():
-        if domain.owner.locked:
-            continue
-
-        rrsets = RRset.objects.filter(domain=domain)
-        created = rrsets.aggregate(Max('created'))['created__max']
-        published = rrsets.aggregate(Max('updated'))['updated__max'] or created
-        # .update() operates on a queryset (not on a Model instance)
-        Domain.objects.filter(pk=domain.pk).update(published=max(created, published))
-
-
-class Migration(migrations.Migration):
-
-    dependencies = [
-        ('desecapi', '0021_tokens'),
-    ]
-
-    operations = [
-        migrations.AddField(
-            model_name='domain',
-            name='published',
-            field=models.DateTimeField(null=True),
-        ),
-        migrations.RunPython(forward_convert, reverse_code=migrations.RunPython.noop),
-    ]