Projet

Général

Profil

0001-data-make-import_site-an-atomic-query-33948.patch

Nicolas Roche, 11 juillet 2019 13:31

Télécharger (1,74 ko)

Voir les différences:

Subject: [PATCH] data: make import_site an atomic query (#33948)

 combo/data/utils.py | 22 ++++++++--------------
 1 file changed, 8 insertions(+), 14 deletions(-)
combo/data/utils.py
70 70
    if missing_groups:
71 71
        raise MissingGroups(names=sorted([x for x in missing_groups]))
72 72

  
73
    if clean:
74
        MapLayer.objects.all().delete()
75
        Asset.objects.all().delete()
76
        Page.objects.all().delete()
77
        PwaSettings.objects.all().delete()
78
        PwaNavigationEntry.objects.all().delete()
79

  
80 73
    with transaction.atomic():
81
        MapLayer.load_serialized_objects(data.get('map-layers') or [])
74
        if clean:
75
            MapLayer.objects.all().delete()
76
            Asset.objects.all().delete()
77
            Page.objects.all().delete()
78
            PwaSettings.objects.all().delete()
79
            PwaNavigationEntry.objects.all().delete()
82 80

  
83
    with transaction.atomic():
81
        MapLayer.load_serialized_objects(data.get('map-layers') or [])
84 82
        Asset.load_serialized_objects(data.get('assets') or [])
85

  
86
    with transaction.atomic():
87 83
        Page.load_serialized_pages(data.get('pages') or [])
88 84

  
89
    if data.get('pwa'):
90
        with transaction.atomic():
85
        if data.get('pwa'):
91 86
            PwaSettings.load_serialized_settings(data['pwa'].get('settings'))
92
        with transaction.atomic():
93 87
            PwaNavigationEntry.load_serialized_objects(data['pwa'].get('navigation'))
94
-