accounts.migrations.0001_initial

 1# Generated by Django 5.2.1 on 2025-06-04 11:49
 2
 3import accounts.models
 4import django.utils.timezone
 5from django.db import migrations, models
 6
 7
 8class Migration(migrations.Migration):
 9
10    initial = True
11
12    dependencies = [
13    ]
14
15    operations = [
16        migrations.CreateModel(
17            name='User',
18            fields=[
19                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20                ('password', models.CharField(max_length=128, verbose_name='password')),
21                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
22                ('username', models.CharField(max_length=100, unique=True, verbose_name='Institution ID')),
23                ('institution_id', models.CharField(max_length=100, verbose_name='Display ID')),
24                ('phone_number', models.CharField(blank=True, max_length=15, null=True, verbose_name='Phone Number')),
25                ('fcm_token', models.CharField(blank=True, max_length=512, null=True, verbose_name='FCM Token')),
26                ('fcm_token_updated_at', models.DateTimeField(blank=True, null=True)),
27                ('is_active', models.BooleanField(default=True)),
28                ('is_staff', models.BooleanField(default=False)),
29                ('is_superuser', models.BooleanField(default=False)),
30                ('date_joined', models.DateTimeField(default=django.utils.timezone.now)),
31                ('password_set', models.BooleanField(default=False, help_text='Indicates if the user has set their password')),
32            ],
33            options={
34                'db_table': 'users',
35            },
36            managers=[
37                ('objects', accounts.models.UserManager()),
38            ],
39        ),
40        migrations.CreateModel(
41            name='Hospital',
42            fields=[
43                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
44                ('name', models.CharField(max_length=255, verbose_name='Hospital Name')),
45                ('address', models.TextField(blank=True, null=True, verbose_name='Address')),
46                ('geolocation_point', models.CharField(blank=True, help_text='Geolocation Point as (latitude, longitude)', max_length=255, null=True, verbose_name='Geolocation Point')),
47                ('radius', models.IntegerField(blank=True, help_text='Radius in meters', null=True, verbose_name='Radius')),
48                ('created_at', models.DateTimeField(auto_now_add=True)),
49                ('updated_at', models.DateTimeField(auto_now=True)),
50                ('geolocation_changes', models.JSONField(blank=True, default=list, null=True, verbose_name='Geolocation Changes')),
51            ],
52            options={
53                'verbose_name': 'Hospital',
54                'verbose_name_plural': 'Hospitals',
55            },
56        ),
57        migrations.CreateModel(
58            name='Role',
59            fields=[
60                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
61                ('name', models.CharField(max_length=100, unique=True, verbose_name='Role Name')),
62                ('description', models.TextField(blank=True, null=True, verbose_name='Description')),
63                ('is_protected', models.BooleanField(default=False)),
64            ],
65            options={
66                'verbose_name': 'Role',
67                'verbose_name_plural': 'Roles',
68                'db_table': 'roles',
69            },
70        ),
71        migrations.CreateModel(
72            name='SiteUser',
73            fields=[
74                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
75                ('name', models.CharField(max_length=100)),
76                ('password', models.CharField(max_length=300)),
77            ],
78            options={
79                'db_table': 'site_users',
80            },
81        ),
82    ]
class Migration(django.db.migrations.migration.Migration):
 9class Migration(migrations.Migration):
10
11    initial = True
12
13    dependencies = [
14    ]
15
16    operations = [
17        migrations.CreateModel(
18            name='User',
19            fields=[
20                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
21                ('password', models.CharField(max_length=128, verbose_name='password')),
22                ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
23                ('username', models.CharField(max_length=100, unique=True, verbose_name='Institution ID')),
24                ('institution_id', models.CharField(max_length=100, verbose_name='Display ID')),
25                ('phone_number', models.CharField(blank=True, max_length=15, null=True, verbose_name='Phone Number')),
26                ('fcm_token', models.CharField(blank=True, max_length=512, null=True, verbose_name='FCM Token')),
27                ('fcm_token_updated_at', models.DateTimeField(blank=True, null=True)),
28                ('is_active', models.BooleanField(default=True)),
29                ('is_staff', models.BooleanField(default=False)),
30                ('is_superuser', models.BooleanField(default=False)),
31                ('date_joined', models.DateTimeField(default=django.utils.timezone.now)),
32                ('password_set', models.BooleanField(default=False, help_text='Indicates if the user has set their password')),
33            ],
34            options={
35                'db_table': 'users',
36            },
37            managers=[
38                ('objects', accounts.models.UserManager()),
39            ],
40        ),
41        migrations.CreateModel(
42            name='Hospital',
43            fields=[
44                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
45                ('name', models.CharField(max_length=255, verbose_name='Hospital Name')),
46                ('address', models.TextField(blank=True, null=True, verbose_name='Address')),
47                ('geolocation_point', models.CharField(blank=True, help_text='Geolocation Point as (latitude, longitude)', max_length=255, null=True, verbose_name='Geolocation Point')),
48                ('radius', models.IntegerField(blank=True, help_text='Radius in meters', null=True, verbose_name='Radius')),
49                ('created_at', models.DateTimeField(auto_now_add=True)),
50                ('updated_at', models.DateTimeField(auto_now=True)),
51                ('geolocation_changes', models.JSONField(blank=True, default=list, null=True, verbose_name='Geolocation Changes')),
52            ],
53            options={
54                'verbose_name': 'Hospital',
55                'verbose_name_plural': 'Hospitals',
56            },
57        ),
58        migrations.CreateModel(
59            name='Role',
60            fields=[
61                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
62                ('name', models.CharField(max_length=100, unique=True, verbose_name='Role Name')),
63                ('description', models.TextField(blank=True, null=True, verbose_name='Description')),
64                ('is_protected', models.BooleanField(default=False)),
65            ],
66            options={
67                'verbose_name': 'Role',
68                'verbose_name_plural': 'Roles',
69                'db_table': 'roles',
70            },
71        ),
72        migrations.CreateModel(
73            name='SiteUser',
74            fields=[
75                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
76                ('name', models.CharField(max_length=100)),
77                ('password', models.CharField(max_length=300)),
78            ],
79            options={
80                'db_table': 'site_users',
81            },
82        ),
83    ]

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 = []
operations = [<CreateModel name='User', fields=[('id', <django.db.models.fields.BigAutoField>), ('password', <django.db.models.fields.CharField>), ('last_login', <django.db.models.fields.DateTimeField>), ('username', <django.db.models.fields.CharField>), ('institution_id', <django.db.models.fields.CharField>), ('phone_number', <django.db.models.fields.CharField>), ('fcm_token', <django.db.models.fields.CharField>), ('fcm_token_updated_at', <django.db.models.fields.DateTimeField>), ('is_active', <django.db.models.fields.BooleanField>), ('is_staff', <django.db.models.fields.BooleanField>), ('is_superuser', <django.db.models.fields.BooleanField>), ('date_joined', <django.db.models.fields.DateTimeField>), ('password_set', <django.db.models.fields.BooleanField>)], options={'db_table': 'users'}, managers=[('objects', <accounts.models.UserManager object>)]>, <CreateModel name='Hospital', fields=[('id', <django.db.models.fields.BigAutoField>), ('name', <django.db.models.fields.CharField>), ('address', <django.db.models.fields.TextField>), ('geolocation_point', <django.db.models.fields.CharField>), ('radius', <django.db.models.fields.IntegerField>), ('created_at', <django.db.models.fields.DateTimeField>), ('updated_at', <django.db.models.fields.DateTimeField>), ('geolocation_changes', <django.db.models.fields.json.JSONField>)], options={'verbose_name': 'Hospital', 'verbose_name_plural': 'Hospitals'}>, <CreateModel name='Role', fields=[('id', <django.db.models.fields.BigAutoField>), ('name', <django.db.models.fields.CharField>), ('description', <django.db.models.fields.TextField>), ('is_protected', <django.db.models.fields.BooleanField>)], options={'verbose_name': 'Role', 'verbose_name_plural': 'Roles', 'db_table': 'roles'}>, <CreateModel name='SiteUser', fields=[('id', <django.db.models.fields.BigAutoField>), ('name', <django.db.models.fields.CharField>), ('password', <django.db.models.fields.CharField>)], options={'db_table': 'site_users'}>]