##// END OF EJS Templates
Funcional y se considera migrations en el sistema de control de versiones
Funcional y se considera migrations en el sistema de control de versiones

File last commit:

r349:32e95bd1c64f
r349:32e95bd1c64f
Show More
0001_initial.py
138 lines | 7.9 KiB | text/x-python | PythonLexer
# 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',),
},
),
]