diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-12-13 18:58:12 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-12-13 18:58:12 +0100 |
commit | 42a1a0822b3e2c7a99d8fc6418a1e73820bb3ca3 (patch) | |
tree | dd8c9bb64a4b6721211222a7cf101c6c41eb32d4 /ishtar_common/migrations | |
parent | 65909915fe01fff0c2975c1a29be257dc90a5a40 (diff) | |
download | Ishtar-42a1a0822b3e2c7a99d8fc6418a1e73820bb3ca3.tar.bz2 Ishtar-42a1a0822b3e2c7a99d8fc6418a1e73820bb3ca3.zip |
Migrate container importers
Diffstat (limited to 'ishtar_common/migrations')
-rw-r--r-- | ishtar_common/migrations/0079_migrate-importers.py | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/ishtar_common/migrations/0079_migrate-importers.py b/ishtar_common/migrations/0079_migrate-importers.py new file mode 100644 index 000000000..3a66ffb30 --- /dev/null +++ b/ishtar_common/migrations/0079_migrate-importers.py @@ -0,0 +1,70 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-12-13 15:13 +from __future__ import unicode_literals + +from django.db import migrations + + +def migrate_importer(apps, schema): + ImporterDuplicateField = apps.get_model('ishtar_common', + 'ImporterDuplicateField') + ImportTarget = apps.get_model('ishtar_common', 'ImportTarget') + + idx = 0 + for k, model in (('field_name', ImporterDuplicateField), + ('target', ImportTarget),): + q = model.objects.filter( + **{k + "__icontains": 'container'} + ).exclude( + **{k + "__icontains": 'container_ref'} + ) + for item in q.all(): + value = getattr(item, k).replace( + 'container', 'container_ref').replace( + 'container_ref_type', 'container_type') + + dup_dct = {"column": item.column, + "field_name": value} + q2 = ImporterDuplicateField.objects.filter( + **dup_dct + ) + if q2.count(): + continue + idx += 1 + if item.concat_str: + dup_dct['concat_str'] = item.concat_str + if item.concat: + dup_dct['concat'] = item.concat + ImporterDuplicateField.objects.create(**dup_dct) + q = model.objects.filter( + **{k + "__icontains": 'set_localisation'} + ) + for item in q.all(): + value = getattr(item, k).replace( + 'set_localisation', 'set_reference_localisation') + dup_dct = {"column": item.column, + "field_name": value} + q2 = ImporterDuplicateField.objects.filter( + **dup_dct + ) + if q2.count(): + continue + idx += 1 + if item.concat_str: + dup_dct['concat_str'] = item.concat_str + if item.concat: + dup_dct['concat'] = item.concat + ImporterDuplicateField.objects.create(**dup_dct) + + print("{} dup field created".format(idx)) + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0078_auto_20181203_1442'), + ] + + operations = [ + migrations.RunPython(migrate_importer) + ] |