# Generated by Django 2.1.1 on 2018-09-12 03:11 import Model.models from django.conf import settings from django.db import migrations, models import django.db.models.deletion import imagekit.models.fields class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Access_Log', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增标记ID')), ('user', models.CharField(blank=True, max_length=100, null=True, verbose_name='用户')), ('operation', models.CharField(blank=True, db_index=True, max_length=100, null=True, verbose_name='操作')), ('ip', models.CharField(blank=True, max_length=100, null=True, verbose_name='访问ip地址')), ('url', models.CharField(blank=True, max_length=150, null=True, verbose_name='访问路径')), ('status', models.IntegerField(blank=True, null=True, verbose_name='状态')), ('time', models.DateTimeField(blank=True, db_index=True, null=True, verbose_name='访问时间')), ('content', models.TextField(blank=True, null=True, verbose_name='参数内容')), ], options={ 'verbose_name': '访问日志表', 'verbose_name_plural': '访问日志表', 'db_table': 'access_log', }, ), migrations.CreateModel( name='App_Info', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增标记ID')), ('appBundleId', models.CharField(blank=True, max_length=32, verbose_name='appID')), ('appName', models.CharField(blank=True, max_length=32, verbose_name='app名称')), ('systemLanguage', models.CharField(blank=True, max_length=32, verbose_name='系统语言')), ('newAppversion', models.CharField(blank=True, max_length=12, verbose_name='系统版本')), ('bundleVersion', models.CharField(blank=True, max_length=12, verbose_name='项目版本')), ('content', models.TextField(blank=True, null=True, verbose_name='更新内容')), ('app_type', models.IntegerField(blank=True, null=True, verbose_name='app类型')), ('add_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='加入时间')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('downloadLink', models.TextField(blank=True, null=True, verbose_name='升级')), ], options={ 'verbose_name': 'app信息表', 'verbose_name_plural': 'app信息表', 'db_table': 'app_info', 'ordering': ('id',), }, ), migrations.CreateModel( name='Auth_Captcha', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('username', models.CharField(help_text='用户名(邮箱或电话号码)', max_length=50)), ('authcaptca', models.CharField(help_text='验证码', max_length=6)), ('sendtype', models.CharField(choices=[('register', '注册'), ('forget', '找回密码')], max_length=15)), ('sendtime', models.DateTimeField(auto_now_add=True)), ], options={ 'verbose_name': '邮箱验证码', 'verbose_name_plural': '邮箱验证码', 'db_table': 'auth_captcha', 'ordering': ('-sendtime',), }, ), migrations.CreateModel( name='Device_Info', fields=[ ('id', models.CharField(blank=True, max_length=32, primary_key=True, serialize=False)), ('NickName', models.CharField(blank=True, max_length=32, verbose_name='设备名称')), ('UID', models.CharField(blank=True, max_length=32, verbose_name='设备UID')), ('SID', models.CharField(blank=True, max_length=32, verbose_name='服务器ID')), ('View_Account', models.CharField(blank=True, max_length=32, verbose_name='设备用户名称')), ('View_Password', models.CharField(blank=True, max_length=32, verbose_name='设备密码')), ('AudioFormat', models.IntegerField(blank=True, default=1, verbose_name='初始化影像')), ('EventNotification', models.IntegerField(blank=True, verbose_name='报警类型')), ('ChannelIndex', models.IntegerField(blank=True, verbose_name='通道号')), ('Online', models.BooleanField(blank=True, default=False, verbose_name='设备是否在线')), ('mMonitorIndex', models.IntegerField(blank=True, default=-1)), ('Type', models.IntegerField(blank=True)), ('DebugMode', models.IntegerField(blank=True, verbose_name='调试模式')), ('NotificationMode', models.IntegerField(blank=True, verbose_name='是否报警')), ('qvgaLevel', models.BooleanField(blank=True, default=0, help_text='0代表:SD、1代表:HD', verbose_name='SD与HD画面')), ('isShare', models.BooleanField(blank=True, default=False, help_text='是否为共享获取的设备', verbose_name='共享设备')), ('primaryUserID', models.CharField(blank=True, default='', help_text='该设备的主用户', max_length=32, verbose_name='主用户')), ('data_joined', models.DateTimeField(auto_now_add=True, verbose_name='设备添加时间')), ('update_time', models.DateTimeField(auto_now=True, null=True, verbose_name='更新时间')), ('ip', models.CharField(blank=True, max_length=100, null=True, verbose_name='设备区域ip')), ('area', models.CharField(blank=True, max_length=100, null=True, verbose_name='设备区域area')), ], options={ 'verbose_name': '用户设备信息表', 'verbose_name_plural': '用户设备信息表', 'db_table': 'device_info', 'ordering': ('-data_joined',), }, ), migrations.CreateModel( name='Device_Meal', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增标记ID')), ('status', models.IntegerField(blank=True, null=True, verbose_name='状态')), ('uid', models.CharField(blank=True, max_length=32, null=True, verbose_name='设备ID')), ('channel', models.IntegerField(blank=True, null=True, verbose_name='设备通道')), ('add_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='加入时间')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('end_time', models.DateTimeField(blank=True, verbose_name='最后时间')), ], options={ 'verbose_name': '设备关联套餐表', 'verbose_name_plural': '设备关联套餐表', 'db_table': 'device_meal', 'ordering': ('id',), }, ), migrations.CreateModel( name='Email_Captcha', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('userCaptcha', models.CharField(max_length=10, verbose_name='验证码')), ('userEmail', models.EmailField(max_length=50, verbose_name='邮箱')), ('sendType', models.CharField(choices=[('register', '注册'), ('forget', '找回密码')], max_length=15)), ('sendTime', models.DateField(auto_now_add=True)), ], options={ 'verbose_name': '邮箱验证码', 'verbose_name_plural': '邮箱验证码', 'db_table': 'email_captcha', 'ordering': ('-sendTime',), }, ), migrations.CreateModel( name='Equipment_Info', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增标记ID')), ('devUid', models.CharField(blank=True, max_length=32, null=True, verbose_name='设备ID')), ('devNickName', models.CharField(blank=True, default='', max_length=32, verbose_name='设备昵称')), ('Channel', models.IntegerField(blank=True, null=True, verbose_name='设备通道')), ('eventType', models.IntegerField(blank=True, null=True, verbose_name='事件类型')), ('viewAccont', models.CharField(blank=True, max_length=32, null=True, verbose_name='设备账户')), ('viewPwd', models.CharField(blank=True, max_length=32, null=True, verbose_name='设备密码')), ('status', models.BooleanField(blank=True, default=False, verbose_name='事件状态')), ('alarm', models.CharField(blank=True, max_length=256, verbose_name='报警信息')), ('eventTime', models.CharField(blank=True, max_length=16, null=True, verbose_name='设备报警时间')), ('receiveTime', models.CharField(blank=True, max_length=16, null=True, verbose_name='接收到报警时间')), ], options={ 'verbose_name': '设备信息推送表', 'verbose_name_plural': '设备信息推送表', 'db_table': 'equipment_info', 'ordering': ('-id',), }, ), migrations.CreateModel( name='Equipment_Sensor', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增标记ID')), ('status', models.IntegerField(blank=True, null=True, verbose_name='状态')), ('type', models.IntegerField(blank=True, null=True, verbose_name='类型')), ('name', models.CharField(blank=True, max_length=128, null=True, verbose_name='传感器名称')), ('add_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='加入时间')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('uid', models.CharField(blank=True, max_length=32, null=True, verbose_name='设备ID')), ], options={ 'verbose_name': '设备传感器表', 'verbose_name_plural': '设备传感器表', 'db_table': 'equipment_sensor', 'ordering': ('id',), }, ), migrations.CreateModel( name='Equipment_Stream', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增标记ID')), ('userID', models.CharField(blank=True, max_length=32, verbose_name='用户ID')), ('status', models.IntegerField(blank=True, null=True, verbose_name='状态')), ('uid', models.CharField(blank=True, max_length=32, null=True, verbose_name='设备ID')), ('channel', models.IntegerField(blank=True, null=True, verbose_name='设备通道')), ('access_token', models.CharField(blank=True, max_length=128, verbose_name='设备推流验证令牌')), ('total_flow', models.FloatField(blank=True, null=True, verbose_name='传输总容量')), ('add_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='加入时间')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('rank', models.IntegerField(blank=True, null=True, verbose_name='推流套餐类型')), ], options={ 'verbose_name': '用户设备推流表', 'verbose_name_plural': '用户设备推流表', 'db_table': 'equipment_stream', }, ), migrations.CreateModel( name='Equipment_Version', fields=[ ('eid', models.CharField(blank=True, max_length=32, primary_key=True, serialize=False)), ('ESN', models.CharField(blank=True, max_length=32, verbose_name='设备规格名称')), ('code', models.CharField(blank=True, max_length=32, verbose_name='设备规格代码')), ('version', models.CharField(blank=True, max_length=32, verbose_name='设备版本')), ('softwareVersion', models.CharField(blank=True, max_length=32, verbose_name='软件本版本')), ('chipModelList2Code', models.CharField(blank=True, max_length=32, verbose_name='主芯片码')), ('channel', models.IntegerField(blank=True, verbose_name='通道数')), ('resolutionRatio', models.IntegerField(blank=True, verbose_name='分辨率')), ('type', models.CharField(blank=True, max_length=16, verbose_name='设备机型')), ('companyCode', models.CharField(blank=True, max_length=128, verbose_name='用户公司名称')), ('data_joined', models.DateTimeField(auto_now_add=True, verbose_name='加入时间')), ('fileSize', models.IntegerField(blank=True, verbose_name='文件总大小')), ('filePath', models.CharField(blank=True, max_length=256, verbose_name='升级文件路径')), ('Description', models.TextField(blank=True, default='', verbose_name='描述信息')), ('fileMd5', models.CharField(blank=True, max_length=32, null=True, verbose_name='上传文件MD5加密')), ('status', models.BooleanField(blank=True, default=True, verbose_name='是否开启更新状态')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ], options={ 'verbose_name': '设备版本信息', 'db_table': 'equipment_version', 'ordering': ('-data_joined',), }, ), migrations.CreateModel( name='Feedback_Info', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增标记ID')), ('userID', models.CharField(blank=True, max_length=32, verbose_name='用户ID')), ('status', models.BooleanField(blank=True, default=False, verbose_name='状态:0未解决/解决')), ('content', models.TextField(blank=True, null=True, verbose_name='反馈描述')), ('add_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='加入时间/反馈时间')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ], options={ 'verbose_name': '用户反馈信息表', 'verbose_name_plural': '用户反馈信息表', 'db_table': 'feedback_info', 'ordering': ('id',), }, ), migrations.CreateModel( name='oauth_user', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增标记ID')), ('oid', models.CharField(blank=True, max_length=36, null=True, unique=True)), ('add_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='加入时间')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ], options={ 'verbose_name': '认证用户关联表', 'verbose_name_plural': '认证用户关联表', 'db_table': 'oauth_user', 'ordering': ('id',), }, ), migrations.CreateModel( name='Permissions', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('permName', models.CharField(blank=True, max_length=32, null=True, unique=True, verbose_name='权限名称')), ('description', models.CharField(blank=True, default='', max_length=128, null=True, verbose_name='描述信息')), ], options={ 'verbose_name': 'role permission', 'verbose_name_plural': 'role permission', 'db_table': 'permissions', 'ordering': ['permName'], }, managers=[ ('objects', Model.models.PermissionsManager()), ], ), migrations.CreateModel( name='Role', fields=[ ('rid', models.SmallIntegerField(primary_key=True, serialize=False, unique=True, verbose_name='用户角色组ID')), ('roleName', models.CharField(choices=[('Guests', 'Guests'), ('Users', 'Users'), ('Admins', 'Admins'), ('SysAdmins', 'SysAdmins'), ('LOGAdmins', 'LOGAdmins'), ('OTAAdmins', 'OTAAdmins'), ('DBAAdmins', 'DBAAdmins'), ('SuperAdmins', 'SuperAdmins')], default='User', max_length=32, unique=True, verbose_name='角色名称')), ('Description', models.TextField(blank=True, default='', verbose_name='描述信息')), ('permission', models.ManyToManyField(blank=True, db_table='role_permissions', to='Model.Permissions', verbose_name='权限')), ], options={ 'verbose_name': '用户角色', 'verbose_name_plural': '用户角色', 'db_table': 'role', 'ordering': ['roleName'], }, managers=[ ('objects', Model.models.RoleManager()), ], ), migrations.CreateModel( name='Store_Meal', fields=[ ('id', models.AutoField(primary_key=True, serialize=False, verbose_name='自增ID')), ('title', models.CharField(blank=True, max_length=32, verbose_name='标题')), ('price', models.CharField(blank=True, max_length=32, verbose_name='价格')), ('day', models.IntegerField(blank=True, null=True, verbose_name='存储时间')), ('content', models.TextField(blank=True, null=True, verbose_name='描述')), ('add_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='加入时间')), ('update_time', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ], options={ 'verbose_name': '存储套餐', 'verbose_name_plural': '存储套餐', 'db_table': 'store_meal', 'ordering': ('id',), }, ), migrations.CreateModel( name='Device_User', fields=[ ('userID', models.CharField(blank=True, default='153672190513592013800138000', max_length=32, primary_key=True, serialize=False, unique=True, verbose_name='用户ID')), ('username', models.CharField(max_length=40, unique=True, verbose_name='用户名')), ('password', models.CharField(max_length=128, verbose_name='密码')), ('userEmail', models.EmailField(blank=True, max_length=64, null=True, unique=True, verbose_name='邮箱')), ('userIconPath', imagekit.models.fields.ProcessedImageField(blank=True, default='static/User/default.png', upload_to='User/Images/', verbose_name='头像')), ('userIconUrl', models.URLField(blank=True, default='http://192.168.136.45:8077/account/getAvatar/User/defaultUser.png', max_length=128)), ('NickName', models.CharField(blank=True, default='', max_length=32, verbose_name='用户昵称')), ('is_superuser', models.IntegerField(blank=True, default=0, verbose_name='用户类型')), ('is_active', models.BooleanField(blank=True, default=False, verbose_name='用户活动状态')), ('data_joined', models.DateTimeField(auto_now_add=True, verbose_name='加入时间')), ('last_login', models.DateTimeField(auto_now=True, verbose_name='u最后登录时间')), ('user_isValid', models.BooleanField(blank=True, default=False, help_text='是否是认证通过的用户', verbose_name='用户有效性')), ('online', models.BooleanField(blank=True, default=False, verbose_name='用户登录状态')), ('machine_code', models.CharField(blank=True, default='', max_length=128, verbose_name='机械码')), ('language', models.CharField(blank=True, default='', max_length=16, null=True, verbose_name='语言地区')), ], options={ 'verbose_name': '用户信息', 'db_table': 'device_user', 'ordering': ('-data_joined',), 'get_latest_by': 'last_login', }, ), migrations.CreateModel( name='AuthToken_JWT', fields=[ ('jwtID', models.OneToOneField(blank=True, on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL, verbose_name='token userID')), ('access_token', models.CharField(blank=True, max_length=384, verbose_name='Access Token')), ('refresh_token', models.CharField(blank=True, max_length=384, verbose_name='Refresh Token')), ('secret', models.CharField(blank=True, max_length=32, verbose_name='Secret')), ('last_update', models.DateTimeField(auto_now=True, verbose_name='Last Update')), ], options={ 'verbose_name': '用户JWT', 'verbose_name_plural': '用户JWT', 'db_table': 'authtoken_jwt', 'ordering': ('-last_update',), }, ), migrations.CreateModel( name='AuthToken_Token', fields=[ ('tokenID', models.OneToOneField(blank=True, on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL)), ('access_token', models.CharField(blank=True, max_length=256)), ('refresh_token', models.CharField(blank=True, max_length=256)), ('last_update', models.DateTimeField(auto_now=True)), ('iCode', models.CharField(blank=True, max_length=12, verbose_name='干扰码')), ('mCode', models.CharField(blank=True, max_length=64, verbose_name='设备码')), ], options={ 'verbose_name': '用户Token', 'db_table': 'authtoken_token', 'ordering': ('-last_update',), }, ), migrations.AddField( model_name='device_user', name='role', field=models.ManyToManyField(blank=True, db_table='user_role', to='Model.Role', verbose_name='用户角色'), ), migrations.AlterUniqueTogether( name='permissions', unique_together={('permName',)}, ), migrations.AddField( model_name='oauth_user', name='userID', field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='用户表userID'), ), migrations.AddField( model_name='equipment_info', name='userID', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='device_meal', name='rank', field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to='Model.Store_Meal', verbose_name='套餐类型'), ), migrations.AddField( model_name='device_info', name='userID', field=models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), ), ]