app.infrastructure.migrations.0001_initial

 1# Generated by Django 5.2.1 on 2025-06-07 13:43
 2
 3import django.db.models.deletion
 4from django.db import migrations, models
 5
 6
 7class Migration(migrations.Migration):
 8
 9    initial = True
10
11    dependencies = [
12        ('accounts', '0005_user_current_device_alter_user_phone_number'),
13    ]
14
15    operations = [
16        migrations.CreateModel(
17            name='ApproverHierarchy',
18            fields=[
19                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20                ('created_at', models.DateTimeField(auto_now_add=True)),
21                ('is_active', models.BooleanField(default=True)),
22            ],
23        ),
24        migrations.CreateModel(
25            name='ApproverLevel',
26            fields=[
27                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
28                ('priority', models.PositiveIntegerField(help_text='Lower means higher priority')),
29                ('hierarchy', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='levels', to='infrastructure.approverhierarchy')),
30                ('role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='accounts.role')),
31            ],
32            options={
33                'ordering': ['priority'],
34            },
35        ),
36    ]
class Migration(django.db.migrations.migration.Migration):
 8class Migration(migrations.Migration):
 9
10    initial = True
11
12    dependencies = [
13        ('accounts', '0005_user_current_device_alter_user_phone_number'),
14    ]
15
16    operations = [
17        migrations.CreateModel(
18            name='ApproverHierarchy',
19            fields=[
20                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
21                ('created_at', models.DateTimeField(auto_now_add=True)),
22                ('is_active', models.BooleanField(default=True)),
23            ],
24        ),
25        migrations.CreateModel(
26            name='ApproverLevel',
27            fields=[
28                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
29                ('priority', models.PositiveIntegerField(help_text='Lower means higher priority')),
30                ('hierarchy', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='levels', to='infrastructure.approverhierarchy')),
31                ('role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='accounts.role')),
32            ],
33            options={
34                'ordering': ['priority'],
35            },
36        ),
37    ]

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.

initial = True
dependencies = [('accounts', '0005_user_current_device_alter_user_phone_number')]
operations = [<CreateModel name='ApproverHierarchy', fields=[('id', <django.db.models.fields.BigAutoField>), ('created_at', <django.db.models.fields.DateTimeField>), ('is_active', <django.db.models.fields.BooleanField>)]>, <CreateModel name='ApproverLevel', fields=[('id', <django.db.models.fields.BigAutoField>), ('priority', <django.db.models.fields.PositiveIntegerField>), ('hierarchy', <django.db.models.fields.related.ForeignKey>), ('role', <django.db.models.fields.related.ForeignKey>)], options={'ordering': ['priority']}>]