|
|
# 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',),
|
|
|
},
|
|
|
),
|
|
|
]
|
|
|
|