Source code for tcms.testcases.migrations.0009_populate_missing_text_history
from django.db import migrations
[docs]
def forward_copy_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():
history = (
historical_test_case_model.objects.filter(case_id=test_case.pk)
.order_by("-history_id")
.first()
)
# In 0006_merge_text_field_into_testcase_model we may have
# failed to save the text into the history record leaving
# historical records with text == None.
# If the TC was not modified since then we try to fix the last
# historical record
if test_case.text and not history.text:
history.text = test_case.text
history.save()
[docs]
class Migration(migrations.Migration):
dependencies = [
("testcases", "0008_notifications_default_true"),
]
operations = [
# copy the data from the related model
migrations.RunPython(forward_copy_data, migrations.RunPython.noop)
]