0001_initial.py
138 lines
| 7.9 KiB
| text/x-python
|
PythonLexer
|
r349 | # Generated by Django 2.2.1 on 2023-01-17 09:48 | ||
from django.conf import settings | ||||
import django.core.validators | ||||
from django.db import migrations, models | ||||
import django.db.models.deletion | ||||
class Migration(migrations.Migration): | ||||
initial = True | ||||
dependencies = [ | ||||
('contenttypes', '0002_remove_content_type_name'), | ||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL), | ||||
] | ||||
operations = [ | ||||
migrations.CreateModel( | ||||
name='DeviceType', | ||||
fields=[ | ||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||
('name', models.CharField(choices=[('', 'Select a device type'), ('rc', 'Radar Controller'), ('dds', 'Direct Digital Synthesizer'), ('jars', 'Jicamarca Radar Acquisition System'), ('usrp', 'Universal Software Radio Peripheral'), ('cgs', 'Clock Generator System'), ('abs', 'Automatic Beam Switching'), ('dds_rest', 'Direct Digital Synthesizer_REST')], default='dds_rest', max_length=10)), | ||||
('sequence', models.PositiveSmallIntegerField(default=55)), | ||||
('description', models.TextField(blank=True, null=True)), | ||||
], | ||||
options={ | ||||
'db_table': 'db_device_types', | ||||
}, | ||||
), | ||||
migrations.CreateModel( | ||||
name='Experiment', | ||||
fields=[ | ||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||
('template', models.BooleanField(default=False)), | ||||
('name', models.CharField(default='', max_length=40, unique=True)), | ||||
('freq', models.FloatField(default=49.92, validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(10000)], verbose_name='Operating Freq. (MHz)')), | ||||
('start_time', models.TimeField(default='00:00:00')), | ||||
('end_time', models.TimeField(default='23:59:59')), | ||||
('task', models.CharField(blank=True, default='', max_length=36, null=True)), | ||||
('status', models.PositiveSmallIntegerField(choices=[(0, 'Error'), (1, 'Cancelled'), (2, 'Running'), (3, 'Scheduled'), (4, 'Unknown')], default=4)), | ||||
('hash', models.CharField(blank=True, default='', max_length=64, null=True)), | ||||
('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), | ||||
], | ||||
options={ | ||||
'db_table': 'db_experiments', | ||||
'ordering': ('template', 'name'), | ||||
}, | ||||
), | ||||
migrations.CreateModel( | ||||
name='Location', | ||||
fields=[ | ||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||
('name', models.CharField(max_length=30)), | ||||
('description', models.TextField(blank=True, null=True)), | ||||
], | ||||
options={ | ||||
'db_table': 'db_location', | ||||
}, | ||||
), | ||||
migrations.CreateModel( | ||||
name='RunningExperiment', | ||||
fields=[ | ||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||
('status', models.PositiveSmallIntegerField(choices=[(0, 'No connected'), (1, 'Connected'), (2, 'Configured'), (3, 'Running'), (4, 'Scheduled')], default=0)), | ||||
('radar', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='main.Location')), | ||||
('running_experiment', models.ManyToManyField(blank=True, to='main.Experiment')), | ||||
], | ||||
), | ||||
migrations.CreateModel( | ||||
name='Profile', | ||||
fields=[ | ||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||
('theme', models.CharField(default='spacelab', max_length=30)), | ||||
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), | ||||
], | ||||
), | ||||
migrations.AddField( | ||||
model_name='experiment', | ||||
name='location', | ||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.Location'), | ||||
), | ||||
migrations.CreateModel( | ||||
name='Device', | ||||
fields=[ | ||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||
('ip_address', models.GenericIPAddressField(default='0.0.0.0', protocol='IPv4')), | ||||
('port_address', models.PositiveSmallIntegerField(default=2000)), | ||||
('description', models.TextField(blank=True, null=True)), | ||||
('status', models.PositiveSmallIntegerField(choices=[(0, 'No connected'), (1, 'Connected'), (2, 'Configured'), (3, 'Running'), (4, 'Unknown')], default=4)), | ||||
('conf_active', models.PositiveIntegerField(default=0, verbose_name='Current configuration')), | ||||
('device_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.DeviceType')), | ||||
('location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.Location')), | ||||
], | ||||
options={ | ||||
'db_table': 'db_devices', | ||||
}, | ||||
), | ||||
migrations.CreateModel( | ||||
name='Configuration', | ||||
fields=[ | ||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||
('template', models.BooleanField(default=False)), | ||||
('label', models.CharField(blank=True, default='', max_length=40, null=True, verbose_name='Label')), | ||||
('type', models.PositiveSmallIntegerField(choices=[(0, 'Active'), (1, 'Historical')], default=0)), | ||||
('created_date', models.DateTimeField(auto_now_add=True)), | ||||
('programmed_date', models.DateTimeField(auto_now=True)), | ||||
('parameters', models.TextField(default='{}')), | ||||
('hash', models.CharField(blank=True, default='', max_length=64, null=True)), | ||||
('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), | ||||
('device', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='main.Device', verbose_name='Device')), | ||||
('experiment', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.Experiment', verbose_name='Experiment')), | ||||
('polymorphic_ctype', models.ForeignKey(editable=False, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='polymorphic_main.configuration_set+', to='contenttypes.ContentType')), | ||||
], | ||||
options={ | ||||
'db_table': 'db_configurations', | ||||
'ordering': ('device__device_type__name',), | ||||
}, | ||||
), | ||||
migrations.CreateModel( | ||||
name='Campaign', | ||||
fields=[ | ||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||||
('template', models.BooleanField(default=False)), | ||||
('name', models.CharField(max_length=60, unique=True)), | ||||
('start_date', models.DateTimeField(blank=True, null=True)), | ||||
('end_date', models.DateTimeField(blank=True, null=True)), | ||||
('tags', models.CharField(blank=True, max_length=40, null=True)), | ||||
('description', models.TextField(blank=True, null=True)), | ||||
('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), | ||||
('experiments', models.ManyToManyField(blank=True, to='main.Experiment')), | ||||
], | ||||
options={ | ||||
'db_table': 'db_campaigns', | ||||
'ordering': ('name',), | ||||
}, | ||||
), | ||||
] | ||||