Source code for tcms.testcases.migrations.0007_convert_is_automated_to_boolean
# Generated by Django 2.1.5 on 2019-01-20 19:24
from django.db import migrations, models
[docs]
def forward_migrate_data(apps, schema_editor):
test_case_model = apps.get_model("testcases", "TestCase")
historical_test_case_model = apps.get_model("testcases", "HistoricalTestCase")
for test_case in test_case_model.objects.all():
test_case.new_is_automated = test_case.is_automated >= 1
test_case.save()
for tc_history in historical_test_case_model.objects.all():
tc_history.new_is_automated = tc_history.is_automated >= 1
tc_history.save()
[docs]
def backward_restore_data(apps, schema_editor):
test_case_model = apps.get_model("testcases", "TestCase")
historical_test_case_model = apps.get_model("testcases", "HistoricalTestCase")
for test_case in test_case_model.objects.all():
test_case.is_automated = int(test_case.new_is_automated)
test_case.save()
for tc_history in historical_test_case_model.objects.all():
tc_history.is_automated = int(tc_history.new_is_automated)
tc_history.save()
[docs]
class Migration(migrations.Migration):
dependencies = [
("testcases", "0006_merge_text_field_into_testcase_model"),
]
operations = [
migrations.AddField(
model_name="historicaltestcase",
name="new_is_automated",
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name="testcase",
name="new_is_automated",
field=models.BooleanField(default=False),
),
migrations.RunPython(forward_migrate_data, backward_restore_data),
migrations.RemoveField(
model_name="historicaltestcase",
name="is_automated",
),
migrations.RemoveField(
model_name="testcase",
name="is_automated",
),
migrations.RenameField(
model_name="historicaltestcase",
old_name="new_is_automated",
new_name="is_automated",
),
migrations.RenameField(
model_name="testcase",
old_name="new_is_automated",
new_name="is_automated",
),
]