server/python/django2/renkanmanager/migrations/0008_modification_date_migrate_data.py
author ymh <ymh.work@gmail.com>
Tue, 21 Jun 2016 10:30:08 +0200
changeset 617 80ce81208b08
permissions -rw-r--r--
correct modification date on existing revisions
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
617
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
# -*- coding: utf-8 -*-
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
# Generated by Django 1.9.4 on 2016-06-21 08:09
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
from __future__ import unicode_literals
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
import json
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
from django.db import migrations
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
def adjust_rev_modification_date(apps, schema_editor):
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
    Revision = apps.get_model('renkanmanager', 'Revision')
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    for rev in Revision.objects.all():
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
        content =  json.loads(rev.content)
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
        if rev.modification_date:
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
            content['updated'] = rev.modification_date.isoformat(' ')
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
            rev.content = json.dumps(content)
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
            rev.save()
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
class Migration(migrations.Migration):
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
    dependencies = [
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
        ('renkanmanager', '0007_foreign_key_final'),
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    ]
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    operations = [
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
        migrations.RunPython(adjust_rev_modification_date)
80ce81208b08 correct modification date on existing revisions
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    ]