Skip to content
Snippets Groups Projects

Resolve "[3.0] Move Room from Chronos to Core"

Merged Lukas Weichelt requested to merge 711-3-0-move-room-from-chronos-to-core into master
Files
3
+ 55
0
# Generated by Django 3.2.15 on 2022-11-20 14:20
from django.apps import apps
import django.contrib.sites.managers
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import oauth2_provider.generators
import oauth2_provider.models
class Migration(migrations.Migration):
dependencies = [
('sites', '0002_alter_domain_unique'),
('core', '0046_notification_create_field_icon'),
]
if "chronos" in apps.app_configs:
recorder = migrations.recorder
if not recorder.MigrationRecorder.Migration.objects.filter(app="core", name="0046_add_room_model").exists():
dependencies.append(('chronos', '0012_add_supervision_global_permission'))
operations = [
migrations.CreateModel(
name='Room',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('extended_data', models.JSONField(default=dict, editable=False)),
('short_name', models.CharField(max_length=255, verbose_name='Short name')),
('name', models.CharField(max_length=255, verbose_name='Long name')),
('site', models.ForeignKey(default=1, editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.site')),
],
options={
'verbose_name': 'Room',
'verbose_name_plural': 'Rooms',
'ordering': ['name', 'short_name'],
'permissions': (('view_room_timetable', 'Can view room timetable'),),
},
managers=[
('objects', django.contrib.sites.managers.CurrentSiteManager()),
],
),
migrations.AddConstraint(
model_name='room',
constraint=models.UniqueConstraint(fields=('site_id', 'short_name'), name='unique_room_short_name_per_site'),
),
# Migrate data from Chronos table; deletion will be handled by Chronos
migrations.RunSQL(
"""
-- Copy rooms from chronos if table exists
DO $$BEGIN INSERT INTO core_room SELECT * FROM chronos_room; EXCEPTION WHEN undefined_table THEN NULL; END$$;
"""
),
]
Loading