Refactor roster and initial support for consists

This commit is contained in:
2022-04-02 18:33:29 +02:00
parent 915bc13575
commit fd43ee34cb
20 changed files with 245 additions and 286 deletions

View File

@@ -1,4 +1,4 @@
# Generated by Django 4.0.2 on 2022-04-01 20:25
# Generated by Django 4.0.2 on 2022-04-02 14:25
from django.db import migrations, models
import django.db.models.deletion
@@ -14,12 +14,21 @@ class Migration(migrations.Migration):
]
operations = [
migrations.CreateModel(
name='Class',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('identifier', models.CharField(max_length=128)),
('company', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='metadata.company')),
('type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='metadata.rollingstocktype')),
],
),
migrations.CreateModel(
name='RollingStock',
fields=[
('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('identifier', models.CharField(max_length=128)),
('address', models.SmallIntegerField(blank=True, default=3, null=True)),
('road_number', models.CharField(max_length=128)),
('address', models.SmallIntegerField(blank=True, default=None, null=True)),
('sku', models.CharField(blank=True, max_length=32)),
('epoch', models.CharField(blank=True, max_length=32)),
('production_year', models.SmallIntegerField(blank=True, null=True)),
@@ -27,14 +36,13 @@ class Migration(migrations.Migration):
('notes', models.TextField(blank=True)),
('creation_time', models.DateTimeField(auto_now_add=True)),
('updated_time', models.DateTimeField(auto_now=True)),
('company', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='metadata.company')),
('_class', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='roster.class')),
('decoder', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='metadata.decoder')),
('manufacturer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='metadata.manufacturer')),
('tags', models.ManyToManyField(blank=True, related_name='rolling_stock', to='metadata.Tag')),
],
options={
'verbose_name_plural': 'Rolling stock',
'ordering': ['address', 'identifier'],
},
),
migrations.CreateModel(
@@ -60,36 +68,4 @@ class Migration(migrations.Migration):
'unique_together': {('rolling_stock', 'file')},
},
),
migrations.CreateModel(
name='Other',
fields=[
('rollingstock_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='roster.rollingstock')),
('type', models.ForeignKey(blank=True, limit_choices_to={'category': 'other'}, null=True, on_delete=django.db.models.deletion.CASCADE, to='metadata.rollingstocktype')),
],
bases=('roster.rollingstock',),
),
migrations.CreateModel(
name='Equipment',
fields=[
('rollingstock_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='roster.rollingstock')),
('type', models.ForeignKey(blank=True, limit_choices_to={'category': 'equipment'}, null=True, on_delete=django.db.models.deletion.CASCADE, to='metadata.rollingstocktype')),
],
bases=('roster.rollingstock',),
),
migrations.CreateModel(
name='Engine',
fields=[
('rollingstock_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='roster.rollingstock')),
('type', models.ForeignKey(blank=True, limit_choices_to={'category': 'engine'}, null=True, on_delete=django.db.models.deletion.CASCADE, to='metadata.rollingstocktype')),
],
bases=('roster.rollingstock',),
),
migrations.CreateModel(
name='Car',
fields=[
('rollingstock_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='roster.rollingstock')),
('type', models.ForeignKey(blank=True, limit_choices_to={'category': 'car'}, null=True, on_delete=django.db.models.deletion.CASCADE, to='metadata.rollingstocktype')),
],
bases=('roster.rollingstock',),
),
]

View File

@@ -1,18 +0,0 @@
# Generated by Django 4.0.2 on 2022-04-01 20:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('roster', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='rollingstock',
name='address',
field=models.SmallIntegerField(blank=True, default=None, null=True),
),
]

View File

@@ -0,0 +1,48 @@
# Generated by Django 4.0.2 on 2022-04-02 16:18
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('metadata', '0002_scale_manufacturer_website_and_more'),
('roster', '0001_initial'),
]
operations = [
migrations.RenameModel(
old_name='Class',
new_name='RollingClass',
),
migrations.AlterModelOptions(
name='rollingclass',
options={'ordering': ['company', 'identifier'], 'verbose_name': 'Class', 'verbose_name_plural': 'Classes'},
),
migrations.AlterModelOptions(
name='rollingstock',
options={'ordering': ['rolling_class', 'road_number'], 'verbose_name_plural': 'Rolling stock'},
),
migrations.RenameField(
model_name='rollingstock',
old_name='epoch',
new_name='era',
),
migrations.RemoveField(
model_name='rollingstock',
name='_class',
),
migrations.AddField(
model_name='rollingstock',
name='rolling_class',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='roster.rollingclass', verbose_name='Class'),
preserve_default=False,
),
migrations.AddField(
model_name='rollingstock',
name='scale',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='metadata.scale'),
preserve_default=False,
),
]

View File

@@ -1,36 +0,0 @@
# Generated by Django 4.0.2 on 2022-04-02 09:09
from django.db import migrations, models
import django.db.models.deletion
import uuid
class Migration(migrations.Migration):
dependencies = [
('metadata', '0001_initial'),
('roster', '0002_alter_rollingstock_address'),
]
operations = [
migrations.CreateModel(
name='ConsistItem',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('rolling_stock', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='roster.rollingstock')),
],
),
migrations.CreateModel(
name='Consist',
fields=[
('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('identifier', models.CharField(max_length=128)),
('epoch', models.CharField(blank=True, max_length=32)),
('notes', models.TextField(blank=True)),
('creation_time', models.DateTimeField(auto_now_add=True)),
('updated_time', models.DateTimeField(auto_now=True)),
('company', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='metadata.company')),
('tags', models.ManyToManyField(blank=True, related_name='consist', to='metadata.Tag')),
],
),
]

View File

@@ -1,20 +0,0 @@
# Generated by Django 4.0.2 on 2022-04-02 09:13
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('roster', '0003_consistitem_consist'),
]
operations = [
migrations.AddField(
model_name='consistitem',
name='consist',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='roster.consist'),
preserve_default=False,
),
]

View File

@@ -1,27 +0,0 @@
# Generated by Django 4.0.2 on 2022-04-02 09:21
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('roster', '0004_consistitem_consist'),
]
operations = [
migrations.RemoveField(
model_name='consistitem',
name='consist',
),
migrations.RemoveField(
model_name='consistitem',
name='rolling_stock',
),
migrations.DeleteModel(
name='Consist',
),
migrations.DeleteModel(
name='ConsistItem',
),
]