mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 18:09:57 -03:30
optimize transformation
This commit is contained in:
parent
4096583b47
commit
fbca7e70f1
@ -11,12 +11,12 @@ class KeyTransform(SONManipulator):
|
||||
|
||||
def replace_key(self, key):
|
||||
for (replace, replacement) in self.replace:
|
||||
key = key.replace(replace, replacement)
|
||||
key = key.replace(replace, replacement)
|
||||
return key
|
||||
|
||||
def revert_key(self, key):
|
||||
for (replacement, replace) in self.replace:
|
||||
key = key.replace(replace, replacement)
|
||||
key = key.replace(replace, replacement)
|
||||
return key
|
||||
|
||||
def replace_incoming(self, obj):
|
||||
@ -49,7 +49,10 @@ class KeyTransform(SONManipulator):
|
||||
return self.replace_incoming(son)
|
||||
|
||||
def transform_outgoing(self, son, collection):
|
||||
if not collection or collection.name != 'fact':
|
||||
return son
|
||||
return self.replace_outgoing(son)
|
||||
|
||||
def register_key_transform(db):
|
||||
db.add_son_manipulator(KeyTransform([('.', '\uff0E'), ('$', '\uff04')]))
|
||||
#db.add_son_manipulator(KeyTransform([('.', '\uff0E'), ('$', '\uff04')]))
|
||||
pass
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
|
||||
from awx.fact.models import FactVersion
|
||||
from awx.fact.utils.dbtransform import KeyTransform
|
||||
from mongoengine.connection import ConnectionError
|
||||
from pymongo.errors import OperationFailure
|
||||
from django.conf import settings
|
||||
@ -36,10 +37,11 @@ def migrate_facts(apps, schema_editor):
|
||||
|
||||
migrated_count = 0
|
||||
not_migrated_count = 0
|
||||
transform = KeyTransform([('.', '\uff0E'), ('$', '\uff04')])
|
||||
for factver in FactVersion.objects.all():
|
||||
fact_obj = factver.fact
|
||||
try:
|
||||
host = Host.objects.only('id').get(inventory__id=factver.host.inventory_id, name=factver.host.hostname)
|
||||
fact_obj = transform.replace_outgoing(factver.fact)
|
||||
Fact.objects.create(host_id=host.id, timestamp=fact_obj.timestamp, module=fact_obj.module, facts=fact_obj.fact).save()
|
||||
migrated_count += 1
|
||||
except Host.DoesNotExist:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user