class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='File', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=50)), ('note', models.TextField()), ('timestamp', models.DateTimeField(auto_now_add=True)), ('slug', models.SlugField(blank=True, null=True, unique=True)), ('file', models.FileField(upload_to=data.models.upload_location)), ('user', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ['-timestamp'], }, ), ]
class Migration(migrations.Migration): dependencies = [ ('data', '0014_auto_20201029_1448'), ] operations = [ migrations.CreateModel( name='DiagnosticCalibration', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('vinput', data.models.MyArrayField()), ('output', data.models.MyArrayField()), ('resolution', models.FloatField(blank=True, null=True)), ('temporalresolution', models.FloatField(blank=True, null=True)), ('description', models.TextField()), ('date', models.DateTimeField(null=True)), ('expiration', models.DateField(null=True)), ('datasheet', models.FileField(blank=True, null=True, upload_to='')), ], ), migrations.CreateModel( name='DiagnosticFile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=150)), ('file', models.FileField(upload_to='')), ('type', models.CharField(choices=[('DOC', 'Document'), ('IMG', 'Image'), ('VID', 'Video'), ('OTR', 'Other')], default='DOC', max_length=3)), ('description', models.TextField(blank=True, null=True)), ], options={ 'verbose_name_plural': 'diagnostic files', }, ), migrations.CreateModel( name='DiagnosticSetup', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('date', models.DateTimeField(null=True)), ('expiration', models.DateField(blank=True, null=True)), ('description', models.TextField()), ('image', models.ImageField(null=True, upload_to='')), ], ), migrations.RemoveField( model_name='diagnostic', name='noise', ), migrations.RemoveField( model_name='diagnostic', name='resolution', ), migrations.AddField( model_name='diagnostic', name='datasheet', field=models.FileField(blank=True, null=True, upload_to=''), ), migrations.AddField( model_name='diagnosticsetup', name='diagnostic', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='data.Diagnostic'), ), migrations.AddField( model_name='diagnosticfile', name='diagnostic', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='data.Diagnostic'), ), migrations.AddField( model_name='diagnosticfile', name='run', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='data.Run'), ), migrations.AddField( model_name='diagnosticcalibration', name='diagnostic', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='data.Diagnostic'), ), migrations.AddField( model_name='diagnosticcalibration', name='inputUnits', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='data.Unit'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('users', '0001_initial'), ] operations = [ migrations.CreateModel( name='Fahrzeug', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('farbe', models.CharField(max_length=8)), ('baujahr', models.IntegerField()), ('kaufdatum', models.DateField()), ('preis', models.IntegerField()), ('added_by', models.ForeignKey( default=data.models.get_default_user, on_delete=django.db.models.deletion.SET_DEFAULT, to='users.Profile')), ], ), migrations.CreateModel( name='Service', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('was', models.TextField()), ('wann', models.DateField()), ('prio', models.CharField(choices=[('Reparatur', 'Reparatur'), ('Service', 'Service'), ('Pflege', 'Pflege'), ('Verbesserung', 'Verbesserung')], max_length=14)), ('km', models.IntegerField()), ('kostenpunkt', models.IntegerField()), ('added_by', models.ForeignKey( default=data.models.get_default_user, on_delete=django.db.models.deletion.SET_DEFAULT, to='users.Profile')), ('fahrzeug', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to='data.Fahrzeug')), ], ), migrations.CreateModel( name='FahrzeugServiceProfil', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('fahrzeug', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_mit_service', to='data.Fahrzeug')), ('profile', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='fahrzeug_mit_service', to='users.Profile')), ('service', models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='data.Service')), ], ), migrations.AddField( model_name='fahrzeug', name='owners', field=models.ManyToManyField(related_name='fahrzeuge', through='data.FahrzeugServiceProfil', to='users.Profile'), ), ]
class Migration(migrations.Migration): dependencies = [ ("contenttypes", "0002_remove_content_type_name"), ("data", "0011_auto_20201013_1808"), ("common", "0009_auto_20201013_1917"), ] operations = [ migrations.SeparateDatabaseAndState( state_operations=[ migrations.CreateModel( name="UnitConversion", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "from_unit", models.CharField( choices=[ ("mL", "milliliter"), ("g", "gram"), ("pcs", "stuk"), ("el", "eetlepel"), ("tl", "theelepel"), ], default="g", max_length=5, ), ), ("scale", models.FloatField()), ( "to_unit", models.CharField( choices=[ ("mL", "milliliter"), ("g", "gram"), ("pcs", "stuk"), ("el", "eetlepel"), ("tl", "theelepel"), ], default="mL", max_length=5, ), ), ("object_id", models.IntegerField()), ( "content_type", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="contenttypes.contenttype", ), ), ], ), migrations.CreateModel( name="ImageTag", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "image", models.ImageField( height_field="height", upload_to=data.models.model_directory_path, width_field="width", ), ), ( "width", models.IntegerField(blank=True, editable=False, null=True), ), ( "height", models.IntegerField(blank=True, editable=False, null=True), ), ("name", models.CharField(blank=True, max_length=150)), ("caption", models.TextField(blank=True)), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ("object_id", models.IntegerField(editable=False)), ( "content_type", models.ForeignKey( editable=False, on_delete=django.db.models.deletion.CASCADE, to="contenttypes.contenttype", ), ), ], ), migrations.CreateModel( name="AlternateImageTag", fields=[ ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "image", models.ImageField( height_field="height", upload_to="imagetags/alternates", width_field="width", ), ), ( "width", models.IntegerField(blank=True, editable=False, null=True), ), ( "height", models.IntegerField(blank=True, editable=False, null=True), ), ( "original", models.ForeignKey( editable=False, on_delete=django.db.models.deletion.CASCADE, related_name="alternates", to="data.imagetag", ), ), ], ), migrations.AddConstraint( model_name="unitconversion", constraint=models.UniqueConstraint( fields=("object_id", "content_type", "from_unit", "to_unit"), name="unique_conversions", ), ), ], database_operations=[ migrations.RunPython(update_common_contentypes, update_common_contentypes_reverse) ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0009_alter_user_last_name_max_length'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('username', models.CharField( error_messages={ 'unique': 'A user with that username already exists.' }, help_text= 'Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[ django.contrib.auth.validators. UnicodeUsernameValidator() ], verbose_name='username')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField( default=True, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(auto_now_add=True, null=True)), ('bupt_id', models.CharField(default=data.models.default_bupt_id, max_length=10, unique=True)), ('name', models.TextField(default='')), ('email', models.EmailField(max_length=254, unique=True)), ('phone', models.CharField(default=data.models.default_phone, max_length=11, unique=True)), ('gender', models.CharField(choices=[('male', 'male'), ('female', 'female')], default='male', max_length=6)), ('usertype', models.CharField(choices=[('student', 'student'), ('teacher', 'teacher'), ('assistant', 'assistant')], default='student', max_length=20)), ('class_number', models.CharField(default='noClass', max_length=10)), ('wechat', models.TextField(null=True)), ('forgotten', models.BooleanField(default=False)), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', 'abstract': False, }, managers=[ ('objects', django.contrib.auth.models.UserManager()), ], ), migrations.CreateModel( name='HWFAssignment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.TextField()), ('description', models.TextField(blank=True, null=True)), ('assignment_type', models.CharField(choices=[('image', 'image'), ('docs', 'docs'), ('vary', 'vary')], default='vary', max_length=20)), ('start_time', models.DateTimeField(default='2019-01-01T00:00:00+00:00')), ('deadline', models.DateTimeField()), ('weight', models.FloatField(default=0.0)), ], ), migrations.CreateModel( name='HWFCourseClass', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.TextField()), ('description', models.TextField(blank=True, null=True)), ('marks', models.FloatField(default=0.0)), ('school', models.TextField(blank=True, null=True)), ('start_time', models.DateTimeField(blank=True, null=True)), ('end_time', models.DateTimeField(blank=True, null=True)), ('students', models.ManyToManyField(blank=True, related_name='students_course', to=settings.AUTH_USER_MODEL)), ('teachers', models.ManyToManyField(blank=True, related_name='teachers_course', to=settings.AUTH_USER_MODEL)), ('teaching_assistants', models.ManyToManyField( blank=True, related_name='teaching_assistants_course', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='HWFFile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('data', models.FileField(null=True, upload_to='homework_file')), ('initial_upload_time', models.DateTimeField(auto_now_add=True)), ('initial_upload_user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='HWFSubmission', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('aware', models.BooleanField(default=True)), ('submit_time', models.DateTimeField(auto_now_add=True)), ('description', models.TextField(blank=True, null=True)), ('score', models.FloatField(default=0.0)), ('is_excellent', models.BooleanField(default=False)), ('addfile', models.ManyToManyField(blank=True, related_name='addfile_submission', to='data.HWFFile')), ('assignment', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='assignment_submission', to='data.HWFAssignment')), ('image', models.ManyToManyField(blank=True, related_name='image_submission', to='data.HWFFile')), ('pdf', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='pdf_submission', to='data.HWFFile')), ('submitter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='my_submission', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Message', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('send_time', models.DateTimeField(auto_now_add=True)), ('read', models.BooleanField(default=False)), ], ), migrations.CreateModel( name='MessageContent', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('text', models.TextField(max_length=2000)), ], ), migrations.CreateModel( name='MessageFile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('data', models.FileField(null=True, upload_to='chat_file')), ('initial_upload_time', models.DateTimeField(auto_now_add=True)), ('initial_upload_user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='UserAvatar', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('url_height', models.PositiveIntegerField(default=75)), ('url_width', models.PositiveIntegerField(default=75)), ('useravatar', models.ImageField(height_field='url_height', null=True, upload_to='avatars', width_field='url_width')), ('user', models.ManyToManyField(related_name='useravatar', to=settings.AUTH_USER_MODEL)), ], ), migrations.AddField( model_name='messagecontent', name='addfile', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name='file_message_content', to='data.MessageFile'), ), migrations.AddField( model_name='messagecontent', name='audio', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name='audio_message_content', to='data.MessageFile'), ), migrations.AddField( model_name='messagecontent', name='picture', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name='pic_message_content', to='data.MessageFile'), ), migrations.AddField( model_name='message', name='content', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='complete_message', to='data.MessageContent'), ), migrations.AddField( model_name='message', name='receiver', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='in_message', to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='message', name='sender', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='out_message', to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='hwfassignment', name='addfile', field=models.ManyToManyField(blank=True, related_name='assignment', to='data.HWFFile'), ), migrations.AddField( model_name='hwfassignment', name='course_class', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='course_assignments', to='data.HWFCourseClass'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('aplus_client', '0001_initial'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Comparison', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('similarity', models.FloatField(default=0.0)), ('matches_json', models.TextField(blank=True, default=None, null=True)), ('review', models.IntegerField(choices=[(-10, 'False alert'), (0, 'Unspecified match'), (5, 'Suspicious match'), (10, 'Plagiate'), (1, 'Approved plagiate')], default=0)), ], options={ 'ordering': ['-similarity'], }, ), migrations.CreateModel( name='Course', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('api_id', models.IntegerField()), ('url', models.URLField()), ('updated', models.DateTimeField(auto_now=True)), ('created', models.DateTimeField(auto_now_add=True)), ('key', data.models.URLKeyField( help_text='Unique alphanumeric course instance id', max_length=64, unique=True)), ('name', models.CharField(help_text='Descriptive course name', max_length=128)), ('provider', models.CharField(choices=[('a+', 'A+'), ('filesystem', 'File system')], default='a+', help_text='Provider for submission data', max_length=16)), ('tokenizer', models.CharField( choices=[('skip', 'Skip'), ('scala', 'Scala'), ('python', 'Python')], default='skip', help_text='Tokenizer for the submission contents', max_length=16)), ('minimum_match_tokens', models.IntegerField( default=15, help_text='Minimum number of tokens to consider a match') ), ('archived', models.BooleanField(db_index=True, default=False)), ('namespace', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='aplus_client.ApiNamespace')), ('reviewers', models.ManyToManyField( blank=True, help_text='Reviewers for match analysis', related_name='courses', to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ['-created'], }, ), migrations.CreateModel( name='Exercise', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(auto_now_add=True)), ('key', data.models.URLKeyField(help_text='Alphanumeric exercise id', max_length=64)), ('name', models.CharField(default='unknown', help_text='Descriptive exercise name', max_length=128)), ('override_tokenizer', models.CharField(blank=True, choices=[('skip', 'Skip'), ('scala', 'Scala'), ('python', 'Python')], max_length=8, null=True)), ('override_minimum_match_tokens', models.IntegerField(blank=True, null=True)), ('template_tokens', models.TextField(blank=True, default='')), ('paused', models.BooleanField(default=False)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='exercises', to='data.Course')), ], options={ 'ordering': ['course', 'name', 'created'], }, ), migrations.CreateModel( name='ProviderQueue', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(auto_now_add=True)), ('data', models.CharField(max_length=128)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='data.Course')), ], ), migrations.CreateModel( name='Student', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(auto_now_add=True)), ('key', data.models.URLKeyField(help_text='Alphanumeric student id', max_length=64)), ('course', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='students', to='data.Course')), ], options={ 'ordering': ['course', 'key'], }, ), migrations.CreateModel( name='Submission', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(auto_now_add=True)), ('provider_url', models.CharField(blank=True, default=None, max_length=256, null=True)), ('grade', models.FloatField(default=0.0)), ('tokens', models.TextField(blank=True, default=None, null=True)), ('indexes_json', models.TextField(blank=True, default=None, null=True)), ('authored_token_count', models.IntegerField(blank=True, default=None, null=True)), ('longest_authored_tile', models.IntegerField(blank=True, default=None, null=True)), ('max_similarity', models.FloatField(blank=True, db_index=True, default=None, null=True)), ('exercise', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to='data.Exercise')), ('student', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='submissions', to='data.Student')), ], ), migrations.AddField( model_name='comparison', name='submission_a', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='+', to='data.Submission'), ), migrations.AddField( model_name='comparison', name='submission_b', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='data.Submission'), ), migrations.AlterUniqueTogether( name='student', unique_together=set([('course', 'key')]), ), migrations.AlterUniqueTogether( name='exercise', unique_together=set([('course', 'key')]), ), migrations.AlterUniqueTogether( name='comparison', unique_together=set([('submission_a', 'submission_b')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Project', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, unique=True, verbose_name='英文简称')), ('fullDisplayName', models.CharField(db_index=True, max_length=255, verbose_name='中文全称')), ('description', models.TextField(blank=True, null=True, verbose_name='描述')), ('url', models.URLField(max_length=255, unique=True, verbose_name='URL地址')), ('config_xml', models.FileField(upload_to=data.models.project_filepath, verbose_name='config.xml')), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ], options={ 'verbose_name': '项目', 'verbose_name_plural': '项目', 'ordering': ('name', 'created_at'), }, ), migrations.CreateModel( name='Job', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(db_index=True, max_length=255, verbose_name='Job名')), ('fullDisplayName', models.CharField(db_index=True, max_length=255, verbose_name='中文全称')), ('description', models.TextField(blank=True, null=True, verbose_name='描述')), ('url', models.URLField(max_length=255, unique=True, verbose_name='URL地址')), ('config_xml', models.FileField(upload_to=data.models.job_filepath, verbose_name='config.xml')), ('env', models.CharField(default='all', max_length=255, verbose_name='环境(组)')), ('nextBuildNumber', models.PositiveIntegerField(verbose_name='下次构建ID')), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='job_project', to='data.Project', verbose_name='所属项目')), ], options={ 'verbose_name': 'Job', 'verbose_name_plural': 'Job', 'ordering': ('name', 'created_at'), 'unique_together': {('project', 'name')}, }, ), migrations.CreateModel( name='Build', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('build_id', models.PositiveIntegerField(verbose_name='构建ID')), ('url', models.URLField(max_length=255, unique=True, verbose_name='URL地址')), ('result', models.CharField(choices=[(0, 'SUCCESS'), (1, 'FAILED')], max_length=1, verbose_name='执行结果')), ('fullDisplayName', models.CharField(db_index=True, max_length=255, verbose_name='中文全称')), ('description', models.TextField(blank=True, null=True, verbose_name='描述')), ('start_time', models.DateTimeField(verbose_name='开始时间')), ('duration', models.PositiveSmallIntegerField(verbose_name='构建时长')), ('consoleText', models.FileField(upload_to=data.models.build_filepath, verbose_name='构建console信息')), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('job', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='build_job', to='data.Job', verbose_name='所属Job')), ], options={ 'verbose_name': '构建', 'verbose_name_plural': '构建', 'ordering': ('build_id', 'created_at'), 'unique_together': {('job', 'build_id')}, }, ), migrations.CreateModel( name='JobParameter', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='参数名')), ('type', models.CharField(max_length=255, verbose_name='参数类型')), ('value', models.CharField(blank=True, max_length=255, null=True, verbose_name='参数值')), ('description', models.TextField(blank=True, null=True, verbose_name='描述')), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('job', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='parameter_job', to='data.Job', verbose_name='所属Job')), ], options={ 'verbose_name': 'Job参数', 'verbose_name_plural': 'Job参数', 'ordering': ('name', 'created_at'), 'unique_together': {('job', 'name')}, }, ), migrations.CreateModel( name='BuildParameter', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=255, verbose_name='参数名')), ('value', models.CharField(blank=True, max_length=255, null=True, verbose_name='参数值')), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='创建时间')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='更新时间')), ('build', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='parameter_build', to='data.Build', verbose_name='所属构建')), ], options={ 'verbose_name': '构建参数', 'verbose_name_plural': '构建参数', 'ordering': ('name', 'created_at'), 'unique_together': {('build', 'name')}, }, ), ]