# Generated by Django 6.0.5 on 2026-06-13 11:43 import datetime import gvsdsdk.models from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='AccountActivation', fields=[ ('AccountActivationCode', gvsdsdk.models.FixedBinaryField(binary_length=6, db_column='AccountActivationCode', max_length=6, primary_key=True, serialize=False)), ('UserUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='UserUUID')), ('CreateTime', models.DateTimeField(db_column='CreateTime', default=datetime.datetime.utcnow)), ], options={ 'verbose_name': '账户激活', 'verbose_name_plural': '账户激活', 'db_table': 'AccountActivation', 'managed': True, }, ), migrations.CreateModel( name='EphemeralToken', fields=[ ('ELTUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='ELTUUID', primary_key=True, serialize=False)), ('ELTUserUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='ELTUserUUID', db_index=True)), ('ELTCreateTime', models.DateTimeField(db_column='ELTCreateTime', default=datetime.datetime.utcnow)), ('ELTEndTime', models.DateTimeField(db_column='ELTEndTime', default=gvsdsdk.models._elt_end_time_default)), ('ELTType', models.SmallIntegerField(db_column='ELTType', default=0)), ('ELTAllowIP', models.JSONField(db_column='ELTAllowIP', default=list)), ('ELTStatus', models.SmallIntegerField(db_column='ELTStatus', db_index=True, default=1)), ], options={ 'verbose_name': '临时令牌', 'verbose_name_plural': '临时令牌', 'db_table': 'EphemeralToken', 'managed': True, }, ), migrations.CreateModel( name='Password', fields=[ ('UserUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='UserUUID', primary_key=True, serialize=False)), ('Password', models.CharField(db_column='Password', max_length=1024)), ], options={ 'verbose_name': '密码', 'verbose_name_plural': '密码', 'db_table': 'Password', 'managed': True, }, ), migrations.CreateModel( name='Permission', fields=[ ('PermUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='PermUUID', primary_key=True, serialize=False)), ('PermName', models.CharField(db_column='PermName', max_length=128)), ('PermCode', models.CharField(db_column='PermCode', max_length=128)), ('RoleUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='RoleUUID')), ('PermStatus', models.SmallIntegerField(db_column='PermStatus', default=1)), ('PermDesc', models.CharField(db_column='PermDesc', default='', max_length=512)), ], options={ 'verbose_name': '权限', 'verbose_name_plural': '权限', 'db_table': 'Permission', 'managed': True, }, ), migrations.CreateModel( name='Role', fields=[ ('RoleUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='RoleUUID', primary_key=True, serialize=False)), ('CompanyUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='CompanyUUID')), ('DeptUUID', gvsdsdk.models.UUIDField(binary_length=16, blank=True, db_column='DeptUUID', null=True)), ('RoleName', models.CharField(db_column='RoleName', max_length=128)), ('RoleType', models.SmallIntegerField(db_column='RoleType', default=2)), ('RoleStatus', models.SmallIntegerField(db_column='RoleStatus', default=1)), ('CreateTime', models.DateTimeField(db_column='CreateTime', default=datetime.datetime.utcnow)), ], options={ 'verbose_name': '角色', 'verbose_name_plural': '角色', 'db_table': 'Role', 'managed': True, }, ), migrations.CreateModel( name='RoleDept', fields=[ ('RoleDeptUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='RoleDeptUUID', primary_key=True, serialize=False)), ('RoleUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='RoleUUID')), ('DeptUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='DeptUUID')), ('IsMainDept', models.SmallIntegerField(db_column='IsMainDept', default=1)), ], options={ 'verbose_name': '角色部门关联', 'verbose_name_plural': '角色部门关联', 'db_table': 'RoleDept', 'managed': True, }, ), migrations.CreateModel( name='User', fields=[ ('UserUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='UserUUID', primary_key=True, serialize=False)), ('UserName', models.CharField(db_column='UserName', max_length=256, unique=True)), ('UserPassword', models.CharField(db_column='UserPassword', default='', max_length=60)), ('UserPositionStatus', models.SmallIntegerField(db_column='UserPositionStatus', default=0)), ('UserPersonalSignature', models.CharField(db_column='UserPersonalSignature', default='', max_length=1024)), ('UserEmail', models.CharField(db_column='UserEmail', default='', max_length=256)), ('UserEmailVerify', models.SmallIntegerField(db_column='UserEmailVerify', default=0)), ('UserAccountLicense', models.SmallIntegerField(db_column='UserAccountLicense', default=1)), ('UserGender', models.SmallIntegerField(db_column='UserGender', default=-1)), ('UserTele', models.CharField(blank=True, db_column='UserTele', max_length=16, null=True)), ('UserCreateTime', models.DateTimeField(db_column='UserCreateTime', default=datetime.datetime.utcnow)), ('UserLastLoginDate', models.DateTimeField(db_column='UserLastLoginDate', default=datetime.datetime.utcnow)), ('IsStaff', models.BooleanField(db_column='IsStaff', default=False)), ('IsSuperuser', models.BooleanField(db_column='IsSuperuser', default=False)), ], options={ 'verbose_name': '用户', 'verbose_name_plural': '用户', 'db_table': 'User', 'managed': True, }, ), migrations.CreateModel( name='User2FA', fields=[ ('User2FAUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='User2FAUUID', primary_key=True, serialize=False)), ('UserUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='UserUUID', db_index=True)), ('SecretKey', models.CharField(db_column='SecretKey', max_length=64)), ('IsEnabled', models.SmallIntegerField(db_column='IsEnabled', default=0)), ('Verified', models.SmallIntegerField(db_column='Verified', default=0)), ('LastUsedAt', models.DateTimeField(blank=True, db_column='LastUsedAt', null=True)), ('CreateTime', models.DateTimeField(db_column='CreateTime', default=datetime.datetime.utcnow)), ], options={ 'verbose_name': '双因素认证', 'verbose_name_plural': '双因素认证', 'db_table': 'User2FA', 'managed': True, }, ), migrations.CreateModel( name='UserABAC', fields=[ ('UserABACUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='UserABACUUID', primary_key=True, serialize=False)), ('UserUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='UserUUID')), ('HierarchicalPermissionIdentifiers', models.CharField(db_column='HierarchicalPermissionIdentifiers', max_length=256)), ], options={ 'verbose_name': '用户ABAC', 'verbose_name_plural': '用户ABAC', 'db_table': 'UserABAC', 'managed': True, }, ), migrations.CreateModel( name='UserAvatar', fields=[ ('UserUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='UserUUID', primary_key=True, serialize=False)), ('UserAvatar', models.BinaryField(db_column='UserAvatar', editable=True)), ('AvatarUploadTime', models.DateTimeField(db_column='AvatarUploadTime', default=datetime.datetime.utcnow)), ('AvatarFileType', models.CharField(db_column='AvatarFileType', default='png', max_length=16)), ], options={ 'verbose_name': '用户头像', 'verbose_name_plural': '用户头像', 'db_table': 'UserAvatar', 'managed': True, }, ), migrations.CreateModel( name='UserLoginLog', fields=[ ('LogUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='LogUUID', primary_key=True, serialize=False)), ('UserUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='UserUUID', db_index=True)), ('LoginIP', models.CharField(db_column='LoginIP', max_length=39)), ('LoginPlatform', models.CharField(db_column='LoginPlatform', max_length=32)), ('LoginStatus', models.SmallIntegerField(db_column='LoginStatus')), ('LoginTime', models.DateTimeField(db_column='LoginTime', default=datetime.datetime.utcnow)), ('UserAgent', models.CharField(db_column='UserAgent', default='', max_length=512)), ], options={ 'verbose_name': '登录日志', 'verbose_name_plural': '登录日志', 'db_table': 'UserLoginLog', 'managed': True, }, ), migrations.CreateModel( name='UserPending2FA', fields=[ ('PendingUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='PendingUUID', primary_key=True, serialize=False)), ('UserUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='UserUUID', unique=True)), ('SecretKey', models.CharField(db_column='SecretKey', max_length=64)), ('ExpireAt', models.DateTimeField(db_column='ExpireAt')), ], options={ 'verbose_name': '2FA待确认', 'verbose_name_plural': '2FA待确认', 'db_table': 'UserPending2FA', 'managed': True, }, ), migrations.CreateModel( name='UserRole', fields=[ ('UserRoleUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='UserRoleUUID', primary_key=True, serialize=False)), ('UserUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='UserUUID')), ('RoleUUID', gvsdsdk.models.UUIDField(binary_length=16, db_column='RoleUUID')), ('CreateTime', models.DateTimeField(db_column='CreateTime', default=datetime.datetime.utcnow)), ], options={ 'verbose_name': '用户角色关联', 'verbose_name_plural': '用户角色关联', 'db_table': 'UserRole', 'managed': True, }, ), ]