Skip to content
Snippets Groups Projects
Commit e040b89e authored by Manon Blanco's avatar Manon Blanco
Browse files

fix migration

parent f11d0623
No related branches found
No related tags found
No related merge requests found
# Generated by Django 2.2 on 2019-12-13 10:28
from django.db import migrations
from arkindex_common.enums import MetaType
from enum import Enum
def updateMetadata(apps, schema_editor):
values = set(item.value for item in MetaType)
def remove_entity_metatype(apps, schema_editor):
MetaData = apps.get_model('documents', 'MetaData')
for metadata in MetaData.objects \
.filter(type=MetaType.Entity) \
.prefetch_related('entity'):
metadata_type = MetaType.Text
class OldMetaType(Enum):
Text = 'text'
HTML = 'html'
Date = 'date'
Location = 'location'
Reference = 'reference'
Entity = 'entity'
values = set(item.value for item in OldMetaType)
# Don't try this at home
MetaData._meta.fields[2].enum = OldMetaType
for metadata in MetaData.objects.filter(type=OldMetaType.Entity).prefetch_related('entity'):
metadata_type = OldMetaType.Text
if metadata.entity and metadata.entity.type.value in values:
metadata_type = MetaType(metadata.entity.type.value)
metadata_type = OldMetaType(metadata.entity.type.value)
metadata.type = metadata_type
metadata.save()
......@@ -24,5 +35,8 @@ class Migration(migrations.Migration):
]
operations = [
migrations.RunPython(updateMetadata, migrations.RunPython.noop),
migrations.RunPython(
remove_entity_metatype,
reverse_code=migrations.RunPython.noop
),
]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment