authentik.flows.migrations.0001_squashed_0007_auto_20200703_2059

  1# Generated by Django 3.2.8 on 2021-10-10 16:08
  2
  3import uuid
  4
  5import django.db.models.deletion
  6from django.db import migrations, models
  7
  8
  9class Migration(migrations.Migration):
 10    replaces = [
 11        ("authentik_flows", "0001_initial"),
 12        ("authentik_flows", "0003_auto_20200523_1133"),
 13        ("authentik_flows", "0006_auto_20200629_0857"),
 14        ("authentik_flows", "0007_auto_20200703_2059"),
 15    ]
 16
 17    initial = True
 18
 19    dependencies = [
 20        ("authentik_policies", "0001_initial"),
 21        ("authentik_policies", "0002_auto_20200528_1647"),
 22    ]
 23
 24    operations = [
 25        migrations.CreateModel(
 26            name="Flow",
 27            fields=[
 28                (
 29                    "flow_uuid",
 30                    models.UUIDField(
 31                        default=uuid.uuid4, editable=False, primary_key=True, serialize=False
 32                    ),
 33                ),
 34                ("name", models.TextField()),
 35                ("slug", models.SlugField(unique=True)),
 36                (
 37                    "designation",
 38                    models.CharField(
 39                        choices=[
 40                            ("authentication", "Authentication"),
 41                            ("invalidation", "Invalidation"),
 42                            ("enrollment", "Enrollment"),
 43                            ("unenrollment", "Unrenollment"),
 44                            ("recovery", "Recovery"),
 45                            ("password_change", "Password Change"),
 46                        ],
 47                        max_length=100,
 48                    ),
 49                ),
 50                (
 51                    "pbm",
 52                    models.OneToOneField(
 53                        on_delete=django.db.models.deletion.CASCADE,
 54                        parent_link=True,
 55                        related_name="+",
 56                        to="authentik_policies.policybindingmodel",
 57                    ),
 58                ),
 59            ],
 60            options={
 61                "verbose_name": "Flow",
 62                "verbose_name_plural": "Flows",
 63            },
 64            bases=("authentik_policies.policybindingmodel",),
 65        ),
 66        migrations.CreateModel(
 67            name="Stage",
 68            fields=[
 69                (
 70                    "stage_uuid",
 71                    models.UUIDField(
 72                        default=uuid.uuid4, editable=False, primary_key=True, serialize=False
 73                    ),
 74                ),
 75                ("name", models.TextField()),
 76            ],
 77        ),
 78        migrations.CreateModel(
 79            name="FlowStageBinding",
 80            fields=[
 81                (
 82                    "policybindingmodel_ptr",
 83                    models.OneToOneField(
 84                        auto_created=True,
 85                        on_delete=django.db.models.deletion.CASCADE,
 86                        parent_link=True,
 87                        to="authentik_policies.policybindingmodel",
 88                    ),
 89                ),
 90                (
 91                    "fsb_uuid",
 92                    models.UUIDField(
 93                        default=uuid.uuid4, editable=False, primary_key=True, serialize=False
 94                    ),
 95                ),
 96                (
 97                    "re_evaluate_policies",
 98                    models.BooleanField(
 99                        default=False,
100                        help_text=(
101                            "When this option is enabled, the planner will re-evaluate policies"
102                            " bound to this."
103                        ),
104                    ),
105                ),
106                ("order", models.IntegerField()),
107                (
108                    "target",
109                    models.ForeignKey(
110                        on_delete=django.db.models.deletion.CASCADE, to="authentik_flows.flow"
111                    ),
112                ),
113                (
114                    "stage",
115                    models.ForeignKey(
116                        on_delete=django.db.models.deletion.CASCADE, to="authentik_flows.stage"
117                    ),
118                ),
119            ],
120            options={
121                "verbose_name": "Flow Stage Binding",
122                "verbose_name_plural": "Flow Stage Bindings",
123                "ordering": ["order", "target"],
124                "unique_together": {("target", "stage", "order")},
125            },
126            bases=("authentik_policies.policybindingmodel",),
127        ),
128        migrations.AddField(
129            model_name="flow",
130            name="stages",
131            field=models.ManyToManyField(
132                blank=True, through="authentik_flows.FlowStageBinding", to="authentik_flows.Stage"
133            ),
134        ),
135        migrations.AlterField(
136            model_name="flow",
137            name="designation",
138            field=models.CharField(
139                choices=[
140                    ("authentication", "Authentication"),
141                    ("authorization", "Authorization"),
142                    ("invalidation", "Invalidation"),
143                    ("enrollment", "Enrollment"),
144                    ("unenrollment", "Unrenollment"),
145                    ("recovery", "Recovery"),
146                    ("password_change", "Password Change"),
147                ],
148                max_length=100,
149            ),
150        ),
151        migrations.AlterField(
152            model_name="flow",
153            name="designation",
154            field=models.CharField(
155                choices=[
156                    ("authentication", "Authentication"),
157                    ("authorization", "Authorization"),
158                    ("invalidation", "Invalidation"),
159                    ("enrollment", "Enrollment"),
160                    ("unenrollment", "Unrenollment"),
161                    ("recovery", "Recovery"),
162                    ("stage_setup", "Stage Setup"),
163                ],
164                max_length=100,
165            ),
166        ),
167        migrations.RenameField(
168            model_name="flow",
169            old_name="pbm",
170            new_name="policybindingmodel_ptr",
171        ),
172        migrations.AlterField(
173            model_name="flow",
174            name="policybindingmodel_ptr",
175            field=models.OneToOneField(
176                auto_created=True,
177                on_delete=django.db.models.deletion.CASCADE,
178                parent_link=True,
179                to="authentik_policies.policybindingmodel",
180            ),
181        ),
182    ]
class Migration(django.db.migrations.migration.Migration):
 10class Migration(migrations.Migration):
 11    replaces = [
 12        ("authentik_flows", "0001_initial"),
 13        ("authentik_flows", "0003_auto_20200523_1133"),
 14        ("authentik_flows", "0006_auto_20200629_0857"),
 15        ("authentik_flows", "0007_auto_20200703_2059"),
 16    ]
 17
 18    initial = True
 19
 20    dependencies = [
 21        ("authentik_policies", "0001_initial"),
 22        ("authentik_policies", "0002_auto_20200528_1647"),
 23    ]
 24
 25    operations = [
 26        migrations.CreateModel(
 27            name="Flow",
 28            fields=[
 29                (
 30                    "flow_uuid",
 31                    models.UUIDField(
 32                        default=uuid.uuid4, editable=False, primary_key=True, serialize=False
 33                    ),
 34                ),
 35                ("name", models.TextField()),
 36                ("slug", models.SlugField(unique=True)),
 37                (
 38                    "designation",
 39                    models.CharField(
 40                        choices=[
 41                            ("authentication", "Authentication"),
 42                            ("invalidation", "Invalidation"),
 43                            ("enrollment", "Enrollment"),
 44                            ("unenrollment", "Unrenollment"),
 45                            ("recovery", "Recovery"),
 46                            ("password_change", "Password Change"),
 47                        ],
 48                        max_length=100,
 49                    ),
 50                ),
 51                (
 52                    "pbm",
 53                    models.OneToOneField(
 54                        on_delete=django.db.models.deletion.CASCADE,
 55                        parent_link=True,
 56                        related_name="+",
 57                        to="authentik_policies.policybindingmodel",
 58                    ),
 59                ),
 60            ],
 61            options={
 62                "verbose_name": "Flow",
 63                "verbose_name_plural": "Flows",
 64            },
 65            bases=("authentik_policies.policybindingmodel",),
 66        ),
 67        migrations.CreateModel(
 68            name="Stage",
 69            fields=[
 70                (
 71                    "stage_uuid",
 72                    models.UUIDField(
 73                        default=uuid.uuid4, editable=False, primary_key=True, serialize=False
 74                    ),
 75                ),
 76                ("name", models.TextField()),
 77            ],
 78        ),
 79        migrations.CreateModel(
 80            name="FlowStageBinding",
 81            fields=[
 82                (
 83                    "policybindingmodel_ptr",
 84                    models.OneToOneField(
 85                        auto_created=True,
 86                        on_delete=django.db.models.deletion.CASCADE,
 87                        parent_link=True,
 88                        to="authentik_policies.policybindingmodel",
 89                    ),
 90                ),
 91                (
 92                    "fsb_uuid",
 93                    models.UUIDField(
 94                        default=uuid.uuid4, editable=False, primary_key=True, serialize=False
 95                    ),
 96                ),
 97                (
 98                    "re_evaluate_policies",
 99                    models.BooleanField(
100                        default=False,
101                        help_text=(
102                            "When this option is enabled, the planner will re-evaluate policies"
103                            " bound to this."
104                        ),
105                    ),
106                ),
107                ("order", models.IntegerField()),
108                (
109                    "target",
110                    models.ForeignKey(
111                        on_delete=django.db.models.deletion.CASCADE, to="authentik_flows.flow"
112                    ),
113                ),
114                (
115                    "stage",
116                    models.ForeignKey(
117                        on_delete=django.db.models.deletion.CASCADE, to="authentik_flows.stage"
118                    ),
119                ),
120            ],
121            options={
122                "verbose_name": "Flow Stage Binding",
123                "verbose_name_plural": "Flow Stage Bindings",
124                "ordering": ["order", "target"],
125                "unique_together": {("target", "stage", "order")},
126            },
127            bases=("authentik_policies.policybindingmodel",),
128        ),
129        migrations.AddField(
130            model_name="flow",
131            name="stages",
132            field=models.ManyToManyField(
133                blank=True, through="authentik_flows.FlowStageBinding", to="authentik_flows.Stage"
134            ),
135        ),
136        migrations.AlterField(
137            model_name="flow",
138            name="designation",
139            field=models.CharField(
140                choices=[
141                    ("authentication", "Authentication"),
142                    ("authorization", "Authorization"),
143                    ("invalidation", "Invalidation"),
144                    ("enrollment", "Enrollment"),
145                    ("unenrollment", "Unrenollment"),
146                    ("recovery", "Recovery"),
147                    ("password_change", "Password Change"),
148                ],
149                max_length=100,
150            ),
151        ),
152        migrations.AlterField(
153            model_name="flow",
154            name="designation",
155            field=models.CharField(
156                choices=[
157                    ("authentication", "Authentication"),
158                    ("authorization", "Authorization"),
159                    ("invalidation", "Invalidation"),
160                    ("enrollment", "Enrollment"),
161                    ("unenrollment", "Unrenollment"),
162                    ("recovery", "Recovery"),
163                    ("stage_setup", "Stage Setup"),
164                ],
165                max_length=100,
166            ),
167        ),
168        migrations.RenameField(
169            model_name="flow",
170            old_name="pbm",
171            new_name="policybindingmodel_ptr",
172        ),
173        migrations.AlterField(
174            model_name="flow",
175            name="policybindingmodel_ptr",
176            field=models.OneToOneField(
177                auto_created=True,
178                on_delete=django.db.models.deletion.CASCADE,
179                parent_link=True,
180                to="authentik_policies.policybindingmodel",
181            ),
182        ),
183    ]

The base class for all migrations.

Migration files will import this from django.db.migrations.Migration and subclass it as a class called Migration. It will have one or more of the following attributes:

  • operations: A list of Operation instances, probably from django.db.migrations.operations
  • dependencies: A list of tuples of (app_path, migration_name)
  • run_before: A list of tuples of (app_path, migration_name)
  • replaces: A list of migration_names

Note that all migrations come out of migrations and into the Loader or Graph as instances, having been initialized with their app label and name.

replaces = [('authentik_flows', '0001_initial'), ('authentik_flows', '0003_auto_20200523_1133'), ('authentik_flows', '0006_auto_20200629_0857'), ('authentik_flows', '0007_auto_20200703_2059')]
initial = True
dependencies = [('authentik_policies', '0001_initial'), ('authentik_policies', '0002_auto_20200528_1647')]
operations = [<CreateModel name='Flow', fields=[('flow_uuid', <django.db.models.fields.UUIDField>), ('name', <django.db.models.fields.TextField>), ('slug', <django.db.models.fields.SlugField>), ('designation', <django.db.models.fields.CharField>), ('pbm', <django.db.models.fields.related.OneToOneField>)], options={'verbose_name': 'Flow', 'verbose_name_plural': 'Flows'}, bases=('authentik_policies.policybindingmodel',)>, <CreateModel name='Stage', fields=[('stage_uuid', <django.db.models.fields.UUIDField>), ('name', <django.db.models.fields.TextField>)]>, <CreateModel name='FlowStageBinding', fields=[('policybindingmodel_ptr', <django.db.models.fields.related.OneToOneField>), ('fsb_uuid', <django.db.models.fields.UUIDField>), ('re_evaluate_policies', <django.db.models.fields.BooleanField>), ('order', <django.db.models.fields.IntegerField>), ('target', <django.db.models.fields.related.ForeignKey>), ('stage', <django.db.models.fields.related.ForeignKey>)], options={'verbose_name': 'Flow Stage Binding', 'verbose_name_plural': 'Flow Stage Bindings', 'ordering': ['order', 'target'], 'unique_together': {('target', 'stage', 'order')}}, bases=('authentik_policies.policybindingmodel',)>, <AddField model_name='flow', name='stages', field=<django.db.models.fields.related.ManyToManyField>>, <AlterField model_name='flow', name='designation', field=<django.db.models.fields.CharField>>, <AlterField model_name='flow', name='designation', field=<django.db.models.fields.CharField>>, <RenameField model_name='flow', old_name='pbm', new_name='policybindingmodel_ptr'>, <AlterField model_name='flow', name='policybindingmodel_ptr', field=<django.db.models.fields.related.OneToOneField>>]