# -*- coding: utf-8 -*-
# Generated by Django 1.11.11 on 2018-03-16 09:12
from __future__ import unicode_literals

from django.db import migrations, models
from ureport.utils import chunk_list


class Migration(migrations.Migration):

    dependencies = [
        ('polls', '0050_auto_20170615_1455'),
    ]

    def populate_default_backend(apps, schema_editor):
        PollResult = apps.get_model("polls", "PollResult")
        result_ids = PollResult.objects.all().values_list('id', flat=True)

        start = time.time()
        i = 0

        for res_id_batch in chunk_list(result_ids, 1000):
            PollResult.objects.filter(id__in=res_id_batch).update(backend='rapidpro')

            i += len(res_id_batch)

            print "Processed update %d / %d poll results in %ds" % (i, len(result_ids), time.time() - start)

    operations = [
        migrations.AddField(
            model_name='poll',
            name='backend',
            field=models.CharField(default='rapidpro', max_length=16),
        ),
        migrations.AddField(
            model_name='pollresult',
            name='backend',
            field=models.CharField(null=True, max_length=16),
        ),
        migrations.RunPython(populate_default_backend),
    ]

# -*- coding: utf-8 -*-
# Generated by Django 1.11.11 on 2018-03-16 09:12
from __future__ import unicode_literals

from django.db import migrations, models
from ureport.utils import chunk_list
import time


class Migration(migrations.Migration):

    dependencies = [
        ('polls', '0050_auto_20170615_1455'),
    ]

    def populate_default_backend(apps, schema_editor):
        PollResult = apps.get_model("polls", "PollResult")
        result_ids = PollResult.objects.all().values_list('id', flat=True)

        start = time.time()
        i = 0

        for res_id_batch in chunk_list(result_ids, 1000):
            PollResult.objects.filter(id__in=res_id_batch).update(backend='rapidpro')

            i += len(res_id_batch)

            print "Processed update %d / %d poll results in %ds" % (i, len(result_ids), time.time() - start)

    operations = [
        migrations.AddField(
            model_name='poll',
            name='backend',
            field=models.CharField(default='rapidpro', max_length=16),
        ),
        migrations.AddField(
            model_name='pollresult',
            name='backend',
            field=models.CharField(null=True, max_length=16),
        ),
        migrations.RunPython(populate_default_backend),
    ]

Fix import