summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
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
commit70aae5cb5a941466e064a405fc69e6984173bca5 (patch)
treedd8c9bb64a4b6721211222a7cf101c6c41eb32d4 /ishtar_common
parentfefeefd1bfe213e5a3277dabd800e56adfda5640 (diff)
downloadIshtar-70aae5cb5a941466e064a405fc69e6984173bca5.tar.bz2
Ishtar-70aae5cb5a941466e064a405fc69e6984173bca5.zip
Migrate container importers
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/migrations/0079_migrate-importers.py70
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)
+ ]