kopia lustrzana https://github.com/OpenDroneMap/WebODM
45 wiersze
1.1 KiB
Python
45 wiersze
1.1 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
# Generated by Django 1.11.1 on 2017-11-30 15:41
|
||
|
from __future__ import unicode_literals
|
||
|
|
||
|
from django.db import migrations, models
|
||
|
import os, pickle, tempfile
|
||
|
|
||
|
from webodm import settings
|
||
|
|
||
|
tasks = []
|
||
|
imageuploads = []
|
||
|
task_ids = {} # map old task IDs --> new task IDs
|
||
|
|
||
|
|
||
|
def restoreImageUploadFks(apps, schema_editor):
|
||
|
global imageuploads, task_ids
|
||
|
|
||
|
ImageUpload = apps.get_model('app', 'ImageUpload')
|
||
|
Task = apps.get_model('app', 'Task')
|
||
|
|
||
|
for img in imageuploads:
|
||
|
i = ImageUpload.objects.get(pk=img['id'])
|
||
|
print(img)
|
||
|
i.task = Task.objects.get(id=task_ids[img['task']])
|
||
|
i.save()
|
||
|
|
||
|
|
||
|
def restore(apps, schema_editor):
|
||
|
global tasks, imageuploads, task_ids
|
||
|
|
||
|
tmp_path = os.path.join(tempfile.gettempdir(), "public_task_uuids_migration.pickle")
|
||
|
tasks, imageuploads, task_ids = pickle.load(open(tmp_path, 'rb'))
|
||
|
|
||
|
|
||
|
class Migration(migrations.Migration):
|
||
|
|
||
|
dependencies = [
|
||
|
('app', '0014_public_task_uuids'),
|
||
|
]
|
||
|
|
||
|
operations = [
|
||
|
migrations.RunPython(restore),
|
||
|
migrations.RunPython(restoreImageUploadFks),
|
||
|
]
|