Update references to device_role column in UserConfigs

This commit is contained in:
Jeremy Stretch 2023-08-02 09:35:41 -04:00
parent b710aff306
commit f83f9e53a6

View File

@ -1,8 +1,21 @@
# Generated by Django 4.1.10 on 2023-08-02 06:59
from django.db import migrations
def update_table_configs(apps, schema_editor):
"""
Replace the `device_role` column in DeviceTable configs with `role`.
"""
UserConfig = apps.get_model('users', 'UserConfig')
for table in ('DeviceTable', 'DeviceBayTable'):
for config in UserConfig.objects.filter(**{f'data__tables__{table}__columns__contains': 'device_role'}):
config.data['tables'][table]['columns'] = [
'role' if x == 'device_role' else x
for x in config.data['tables'][table]['columns']
]
config.save()
class Migration(migrations.Migration):
dependencies = [
@ -15,4 +28,8 @@ class Migration(migrations.Migration):
old_name='device_role',
new_name='role',
),
migrations.RunPython(
code=update_table_configs,
reverse_code=migrations.RunPython.noop
),
]