# -*- coding: utf-8 -*- # Generated by Django 1.9 on 2016-02-19 20:29 from __future__ import unicode_literals from django.db import migrations, models import django.db.models.deletion import ast class Migration(migrations.Migration): def create_scenario_from_featurebuildjson(apps, schema_editor): FeatureBuildJson = apps.get_model('qa_analytics', 'FeatureBuildJson') Scenario = apps.get_model('qa_analytics', 'Scenario') ScenarioBuildJson = apps.get_model('qa_analytics', 'ScenarioBuildJson') for feature_build_json in FeatureBuildJson.objects.all(): build = feature_build_json.build feature = feature_build_json.feature feature_build_dict = ast.literal_eval(feature_build_json.result) for scenario_json in feature_build_dict: scenario_name = "{0}: {1}".format(scenario_json["keyword"], scenario_json["name"]) new_scenario, _ = Scenario.objects.get_or_create(name=scenario_name, feature=feature) ScenarioBuildJson.objects.create( result=scenario_json["steps"], scenario=new_scenario, build=build ) feature_build_json.delete() return True dependencies = [ ('qa_analytics', '0002_auto_20160205_1924'), ] operations = [ migrations.CreateModel( name='Scenario', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.TextField()), ( 'feature', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='qa_analytics.Feature') ), ], ), migrations.CreateModel( name='ScenarioBuildJson', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('result', models.TextField()), ('build', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='qa_analytics.Build')), ( 'scenario', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='qa_analytics.Scenario') ), ], ), migrations.RunPython(create_scenario_from_featurebuildjson), migrations.RemoveField( model_name='featurebuildjson', name='build', ), migrations.RemoveField( model_name='featurebuildjson', name='feature', ), migrations.DeleteModel( name='FeatureBuildJson', ), ]