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', '0003_auto_20160510_1325'), ] operations = [ migrations.AlterModelOptions( name='eventlog', options={'ordering': ['timestamp']}, ), migrations.AddField( model_name='treatment', name='assignment', field=models.CharField(max_length=64, null=True), ), migrations.AddField( model_name='treatment', name='batch', field=models.CharField(max_length=64, null=True), ), migrations.AddField( model_name='treatment', name='frameorder', field=models.CharField(max_length=64, null=True), ), migrations.AlterField( model_name='task', name='timestarted', field=models.DateTimeField(default=data.models.get_now), ), ]
class Migration(migrations.Migration): dependencies = [ ('data', '0004_auto_20160510_1414'), ] operations = [ migrations.AlterField( model_name='task', name='timestarted', field=models.DateTimeField(default=data.models.get_now), ), ]
class Migration(migrations.Migration): dependencies = [ ('data', '0005_auto_20160510_1418'), ] operations = [ migrations.AlterField( model_name='eventlog', name='timestamp', field=models.DateTimeField(default=data.models.get_now_niave), ), ]
class Migration(migrations.Migration): dependencies = [ ('data', '0002_auto_20160506_1315'), ] operations = [ migrations.AddField( model_name='treatment', name='timezone', field=models.CharField(max_length=128, null=True), ), migrations.AlterField( model_name='task', name='timestarted', field=models.DateTimeField(default=data.models.get_now), ), ]
class Migration(migrations.Migration): dependencies = [ ('data', '0004_auto_20181118_0840'), ] operations = [ migrations.CreateModel( name='HeadingEvent', fields=[ ('locationevent_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='data.LocationEvent')), ], options={ 'abstract': False, 'base_manager_name': 'objects', }, bases=('data.locationevent',), ), migrations.AddField( model_name='ferry', name='destination', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, to='data.Destination'), ), migrations.AddField( model_name='ferry', name='heading', field=models.CharField(blank=True, max_length=8, null=True), ), migrations.AddField( model_name='ferry', name='last_updated', field=models.DateTimeField(auto_now=True), ), migrations.AddField( model_name='ferry', name='status', field=models.CharField(blank=True, choices=[(data.models.FerryStatus('In Port'), 'In Port'), (data.models.FerryStatus('Under Way'), 'Under Way'), (data.models.FerryStatus('Offline'), 'Offline')], max_length=16, null=True), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0007_alter_validators_add_error_messages'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='EventLog', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=256)), ('description', models.CharField(blank=True, max_length=512)), ('timestamp', models.DateTimeField(default=data.models.get_now)), ], ), migrations.CreateModel( name='Image', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('filename', models.CharField(max_length=512, verbose_name=b'Filename')), ], ), migrations.CreateModel( name='Task', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('finished', models.IntegerField(choices=[(0, b'No'), (1, b'Yes'), (2, b'N/A')], default=0)), ('street_num', models.CharField(max_length=64, null=True, verbose_name=b'Street #')), ('street_nam', models.CharField(max_length=512, null=True, verbose_name=b'Street name')), ('city', models.CharField(max_length=512, null=True, verbose_name=b'City')), ('state', models.CharField(choices=[(b'AL', b'AL'), (b'AK', b'AK'), (b'AZ', b'AZ'), (b'AR', b'AR'), (b'CA', b'CA'), (b'CO', b'CO'), (b'CT', b'CT'), (b'DC', b'DC'), (b'DE', b'DE'), (b'FL', b'FL'), (b'GA', b'GA'), (b'HI', b'HI'), (b'ID', b'ID'), (b'IL', b'IL'), (b'IN', b'IN'), (b'IA', b'IA'), (b'KS', b'KS'), (b'KY', b'KY'), (b'LA', b'LA'), (b'ME', b'ME'), (b'MD', b'MD'), (b'MA', b'MA'), (b'MI', b'MI'), (b'MN', b'MN'), (b'MS', b'MS'), (b'MO', b'MO'), (b'MT', b'MT'), (b'NE', b'NE'), (b'NV', b'NV'), (b'NH', b'NH'), (b'NJ', b'NJ'), (b'NM', b'NM'), (b'NY', b'NY'), (b'NC', b'NC'), (b'ND', b'ND'), (b'OH', b'OH'), (b'OK', b'OK'), (b'OR', b'OR'), (b'PA', b'PA'), (b'RI', b'RI'), (b'SC', b'SC'), (b'SD', b'SD'), (b'TN', b'TN'), (b'TX', b'TX'), (b'UT', b'UT'), (b'VT', b'VT'), (b'VA', b'VA'), (b'WA', b'WA'), (b'WV', b'WV'), (b'WI', b'WI'), (b'WY', b'WY')], max_length=4, null=True, verbose_name=b'State')), ('month', models.IntegerField(choices=[(1, b'Jan'), (2, b'Feb'), (3, b'Mar'), (4, b'Apr'), (5, b'May'), (6, b'Jun'), (7, b'Jul'), (8, b'Aug'), (9, b'Sep'), (10, b'Oct'), (11, b'Nov'), (12, b'Dec')], null=True)), ('year', models.IntegerField(choices=[(2000, 2000), (2001, 2001), (2002, 2002), (2003, 2003), (2004, 2004), (2005, 2005), (2006, 2006), (2007, 2007), (2008, 2008), (2009, 2009), (2010, 2010), (2011, 2011), (2012, 2012), (2013, 2013), (2014, 2014), (2015, 2015), (2016, 2016)], null=True)), ('pic_quality', models.IntegerField( choices=[(1, b'Strongly Disagree'), (2, b'Disagree'), (3, b'Neither Agree or Disagree'), (4, b'Agree'), (5, b'Strongly Agree'), (6, b'N/A')], null=True, verbose_name=b'The quality of the actual picture is high') ), ('str_quality', models.IntegerField( choices=[(1, b'Strongly Disagree'), (2, b'Disagree'), (3, b'Neither Agree or Disagree'), (4, b'Agree'), (5, b'Strongly Agree'), (6, b'N/A')], null=True, verbose_name= b'The quality of the streets visible in the picture is high' )), ('pot_holes', models.IntegerField( choices=[(0, b'0'), (1, b'1'), (2, b'2'), (3, b'3'), (4, b'4'), (5, b'5'), (6, b'5+'), (7, b'N/A')], null=True, verbose_name= b'How many potholes are visible in the picture')), ('bui_quality', models.IntegerField( choices=[(1, b'Strongly Disagree'), (2, b'Disagree'), (3, b'Neither Agree or Disagree'), (4, b'Agree'), (5, b'Strongly Agree'), (6, b'N/A')], null=True, verbose_name= b'The quality of buildings visible in the picture is high' )), ('car_quality', models.IntegerField( choices=[(1, b'Strongly Disagree'), (2, b'Disagree'), (3, b'Neither Agree or Disagree'), (4, b'Agree'), (5, b'Strongly Agree'), (6, b'N/A')], null=True, verbose_name= b'The quality of the vehicles visible in the picture is high' )), ('litter', models.IntegerField( choices=[(1, b'Strongly Disagree'), (2, b'Disagree'), (3, b'Neither Agree or Disagree'), (4, b'Agree'), (5, b'Strongly Agree'), (6, b'N/A')], null=True, verbose_name= b'The amount of litter visible in the picture is high')), ('road_work', models.IntegerField( choices=[(0, b'No'), (1, b'Yes'), (2, b'N/A')], null=True, verbose_name= b'Are there signs of road work visible in the picture')), ('graffiti', models.IntegerField( choices=[(0, b'No'), (1, b'Yes'), (2, b'N/A')], null=True, verbose_name=b'Is there graffiti visible in the picture') ), ('for_sale', models.IntegerField( choices=[(0, b'No'), (1, b'Yes'), (2, b'N/A')], null=True, verbose_name= b'There are one or more house for sale signs visible in the picture' )), ('shoes', models.IntegerField( choices=[(0, b'No'), (1, b'Yes'), (2, b'N/A')], null=True, verbose_name= b'Are there shoes on a wire visible in the picture')), ('trees', models.IntegerField( choices=[(0, b'No'), (1, b'Yes'), (2, b'N/A')], null=True, verbose_name= b'Are there trees and/or large bushes visible in the picture' )), ('broken_signs', models.IntegerField( choices=[(0, b'No'), (1, b'Yes'), (2, b'N/A')], null=True, verbose_name= b'Are there any broken street signs visible in the picture' )), ('people', models.IntegerField( choices=[(0, b'No'), (1, b'Yes'), (2, b'N/A')], null=True, verbose_name= b'Are there people actively covering their faces visible in the picture' )), ('timestarted', models.DateTimeField(default=data.models.get_now)), ('timefinished', models.DateTimeField(blank=True, null=True)), ('image', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='data.Image')), ], ), migrations.CreateModel( name='Treatment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('wage', models.CharField(max_length=128, verbose_name=b'Wage Rate')), ('tutorial', models.IntegerField(default=0)), ], ), migrations.CreateModel( name='WorkTimer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('page', models.CharField(max_length=28, null=True)), ('value', models.IntegerField()), ('token', models.CharField(max_length=256)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('task', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='data.Task')), ], ), migrations.CreateModel( name='TimeSheet', fields=[], options={ 'proxy': True, }, bases=('auth.user', ), managers=[ ('objects', django.contrib.auth.models.UserManager()), ], ), migrations.AddField( model_name='worktimer', name='user', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='treatment', name='user', field=models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='task', name='user', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='eventlog', name='task', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to='data.Task'), ), migrations.AddField( model_name='eventlog', name='user', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), ), ]
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): dependencies = [ ('data', '0001_initial'), ] operations = [ migrations.CreateModel( name='Reserve', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Criado em')), ('deleted', models.DateTimeField(blank=True, editable=False, null=True, verbose_name='Deletado em')), ('modified', models.DateTimeField(auto_now=True, verbose_name='Modificado em')), ('remedio', models.CharField(max_length=150, verbose_name='Remédio')), ('quantity', models.IntegerField(null=True, verbose_name='Quantidade')), ('quantity_unit', models.CharField(blank=True, choices=[('mg', 'mg'), ('g', 'g'), ('kg', 'kg'), ('ml', 'ml'), ('l', 'l'), ('cx', 'cx')], max_length=2, null=True, verbose_name='Unidade')), ('pills', models.IntegerField(verbose_name='Quantidade (em pílulas)')), ('doctor', models.CharField(max_length=150, verbose_name='Nome do Médico')), ('crm', models.CharField(max_length=10, verbose_name='CRM do Médico')), ('prescription', models.FileField( upload_to=data.models.prescription_file_upload, verbose_name='Receita')), ], options={ 'verbose_name': 'Reserva', 'verbose_name_plural': 'Reservas', 'ordering': ['remedio'], }, ), migrations.AlterModelOptions( name='donation', options={ 'ordering': ['remedio'], 'verbose_name': 'Doação', 'verbose_name_plural': 'Doações' }, ), migrations.AlterField( model_name='donation', name='quantity_unit', field=models.CharField(blank=True, max_length=2, null=True, verbose_name='Unidade'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Authority', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, unique=True)), ], ), migrations.CreateModel( name='Denomination', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, unique=True)), ], ), migrations.CreateModel( name='EquipmentClass', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('spare_class', models.CharField(max_length=100)), ], ), migrations.CreateModel( name='Issue', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('username', models.CharField(default='', max_length=50)), ('quantity_issued', models.PositiveSmallIntegerField(default=0)), ('issue_time', models.DateTimeField(auto_now_add=True, null=True)), ('remarks', models.CharField(default='', max_length=200)), ], ), migrations.CreateModel( name='PostDemand', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_demanded', models.PositiveSmallIntegerField(default=0)), ('demand_number', models.SlugField(default='')), ('demand_date', models.DateTimeField(null=True)), ('remarks', models.CharField(blank=True, default='', max_length=200)), ], ), migrations.CreateModel( name='SpareClass', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100, unique=True)), ], ), migrations.CreateModel( name='Spares', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('spare_class', models.CharField(default='', max_length=100)), ('equipment_class', models.CharField(default='', max_length=100)), ('pattern_number', models.SlugField(blank=True, default='', max_length=100)), ('description', models.CharField(default='', max_length=500)), ('category', models.CharField(choices=[('PERMANENT', 'PERMANENT'), ('RETURNABLE', 'RETURNABLE'), ('CONSUMABLE', 'CONSUMABLE')], default='PERMANENT', max_length=20)), ('critical', models.BooleanField(blank=True, default=False)), ('compartment', models.CharField(blank=True, default='UNKNOWN', max_length=200)), ('location', models.CharField(blank=True, default='UNKNOWN', max_length=200)), ('denomination', models.CharField(default='', max_length=20)), ('quantity_authorised', models.PositiveSmallIntegerField(blank=True, default=0)), ('quantity_available', models.PositiveSmallIntegerField(blank=True, default=0)), ('authority', models.CharField(default='D787J', max_length=100)), ('page', models.SlugField(blank=True, default='', max_length=100)), ('line', models.PositiveSmallIntegerField(blank=True, null=True)), ('remarks', models.CharField(blank=True, default='', max_length=200, null=True)), ('image', models.ImageField(blank=True, default=None, max_length=500, null=True, upload_to=data.models.Spares.image_path)), ], ), migrations.CreateModel( name='Survey', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_tosurvey', models.PositiveSmallIntegerField(default=0)), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ], ), migrations.CreateModel( name='Return', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('username', models.CharField(default='', max_length=50)), ('quantity_returned', models.PositiveSmallIntegerField(default=0)), ('return_time', models.DateTimeField(auto_now_add=True, null=True)), ('remarks', models.CharField(blank=True, default='', max_length=200)), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ], ), migrations.CreateModel( name='Receive', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_toreceive', models.PositiveSmallIntegerField(default=0)), ('demand_entry', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='data.PostDemand')), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ], ), migrations.CreateModel( name='PostSurvey', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_surveyed', models.PositiveSmallIntegerField(default=0)), ('survey_number', models.SlugField(default='NA')), ('survey_number_date', models.DateTimeField(null=True)), ('survey_report_date', models.DateTimeField(null=True)), ('remarks', models.CharField(blank=True, default='', max_length=200)), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ], ), migrations.CreateModel( name='PostReceive', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_received', models.PositiveSmallIntegerField(default=0)), ('receipt_number', models.SlugField(default='')), ('receive_date', models.DateTimeField(null=True)), ('remarks', models.CharField(blank=True, default='', max_length=200)), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ], ), migrations.AddField( model_name='postdemand', name='spare', field=models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, to='data.Spares'), ), migrations.CreateModel( name='IssueList', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_toreturn', models.PositiveSmallIntegerField(default=0)), ('issue_entry', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Issue')), ], ), migrations.AddField( model_name='issue', name='spare', field=models.ForeignKey( on_delete=django.db.models.deletion.PROTECT, to='data.Spares'), ), migrations.CreateModel( name='Demand', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity_todemand', models.PositiveSmallIntegerField(default=0)), ('spare', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='data.Spares')), ('survey_entry', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='data.PostSurvey')), ], ), ]
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 = [] operations = [ migrations.CreateModel( name='CpuData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=128)), ('cores', models.CharField(blank=True, max_length=32)), ], options={ 'ordering': ('name', 'cores'), }, bases=(data.models.FromLuaMixin, models.Model), ), migrations.CreateModel( name='EngineData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('buildFlags', models.CharField(blank=True, max_length=1024)), ('version', models.CharField(blank=True, max_length=64)), ('versionFull', models.CharField(blank=True, max_length=128)), ('versionPatchSet', models.CharField(blank=True, max_length=32)), ('wordSize', models.PositiveIntegerField(blank=True, null=True)), ], options={ 'ordering': ('versionFull', 'versionPatchSet'), }, bases=(data.models.FromLuaMixin, models.Model), ), migrations.CreateModel( name='GlData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('glRenderer', models.CharField(blank=True, max_length=256)), ('glVendor', models.CharField(blank=True, max_length=256)), ('glVersion', models.CharField(blank=True, max_length=256)), ('glVersionShort', models.CharField(blank=True, max_length=128)), ('glewVersion', models.CharField(blank=True, max_length=256)), ('glslVersion', models.CharField(blank=True, max_length=256)), ('glslVersionShort', models.CharField(blank=True, max_length=128)), ('glSupportNonPowerOfTwoTex', models.NullBooleanField()), ('glSupportTextureQueryLOD', models.NullBooleanField()), ('glSupport24bitDepthBuffer', models.NullBooleanField()), ('glSupportRestartPrimitive', models.NullBooleanField()), ('glSupportClipSpaceControl', models.NullBooleanField()), ('glSupportFragDepthLayout', models.NullBooleanField()), ], options={ 'ordering': ('glRenderer', 'glVersion'), }, bases=(data.models.FromLuaMixin, models.Model), ), migrations.CreateModel( name='GpuData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('gpu', models.CharField(blank=True, max_length=256)), ('gpuMemorySize', models.PositiveIntegerField(blank=True, null=True)), ('gpuVendor', models.CharField(blank=True, max_length=256)), ], options={ 'ordering': ('gpuVendor', 'gpu', 'gpuMemorySize'), }, bases=(data.models.FromLuaMixin, models.Model), ), migrations.CreateModel( name='MachineData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('account', models.CharField(max_length=128)), ('updated', models.DateTimeField(auto_now=True)), ('ram', models.PositiveIntegerField(blank=True)), ('cpu', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='data.CpuData')), ('engine_data', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='data.EngineData')), ('gl_data', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='data.GlData')), ('gpu_data', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='data.GpuData')), ], options={ 'ordering': ('-updated', ), }, ), migrations.CreateModel( name='OsData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('osFamily', models.CharField(max_length=32)), ('osName', models.CharField(blank=True, max_length=256)), ], options={ 'ordering': ('osFamily', 'osName'), }, ), migrations.CreateModel( name='PlatformData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('attribute', models.CharField(max_length=128)), ('value', models.CharField(max_length=1024)), ], options={ 'ordering': ('attribute', ), }, ), migrations.CreateModel( name='ScreenData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('resolution_x', models.PositiveSmallIntegerField(blank=True, null=True)), ('resolution_y', models.PositiveSmallIntegerField(blank=True, null=True)), ('color_depth', models.PositiveSmallIntegerField(blank=True, null=True)), ('refresh_rate', models.PositiveSmallIntegerField(blank=True, null=True)), ('windowed', models.NullBooleanField()), ], options={ 'ordering': ('resolution_x', 'resolution_y', 'color_depth'), }, bases=(data.models.FromLuaMixin, models.Model), ), migrations.CreateModel( name='SDLData', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sdlVersionCompiledMajor', models.PositiveSmallIntegerField(blank=True, null=True)), ('sdlVersionCompiledMinor', models.PositiveSmallIntegerField(blank=True, null=True)), ('sdlVersionCompiledPatch', models.PositiveSmallIntegerField(blank=True, null=True)), ('sdlVersionLinkedMajor', models.PositiveSmallIntegerField(blank=True, null=True)), ('sdlVersionLinkedMinor', models.PositiveSmallIntegerField(blank=True, null=True)), ('sdlVersionLinkedPatch', models.PositiveSmallIntegerField(blank=True, null=True)), ], bases=(data.models.FromLuaMixin, models.Model), ), migrations.AlterUniqueTogether( name='sdldata', unique_together=set([ ('sdlVersionCompiledMajor', 'sdlVersionCompiledMinor', 'sdlVersionCompiledPatch', 'sdlVersionLinkedMajor', 'sdlVersionLinkedMinor', 'sdlVersionLinkedPatch') ]), ), migrations.AlterUniqueTogether( name='screendata', unique_together=set([('resolution_x', 'resolution_y', 'color_depth', 'refresh_rate', 'windowed')]), ), migrations.AddField( model_name='machinedata', name='os', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='data.OsData'), ), migrations.AddField( model_name='machinedata', name='platform_data', field=models.ManyToManyField(to='data.PlatformData'), ), migrations.AddField( model_name='machinedata', name='screen_data', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='data.ScreenData'), ), migrations.AddField( model_name='machinedata', name='sdl_data', field=models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='data.SDLData'), ), migrations.AlterUniqueTogether( name='cpudata', unique_together=set([('name', 'cores')]), ), migrations.AlterUniqueTogether( name='machinedata', unique_together=set([('account', 'cpu', 'os')]), ), ]
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')}, }, ), ]