diff --git a/buildinfo/migrations/0004_buildinfo_datetime.py b/buildinfo/migrations/0004_buildinfo_datetime.py index 496ee9a..3e2494e 100644 --- a/buildinfo/migrations/0004_buildinfo_datetime.py +++ b/buildinfo/migrations/0004_buildinfo_datetime.py @@ -10,6 +10,7 @@ def migrate_timestamps(apps, schema_editor): BuildInfo = apps.get_model("buildinfo", "BuildInfo") for info in BuildInfo.objects.all(): info.datetime = get_datetime(info.timestamp) + info.save() class Migration(migrations.Migration): diff --git a/buildinfo/migrations/0005_restore_timestamp_value.py b/buildinfo/migrations/0005_restore_timestamp_value.py new file mode 100644 index 0000000..03c7fd9 --- /dev/null +++ b/buildinfo/migrations/0005_restore_timestamp_value.py @@ -0,0 +1,31 @@ +# Generated by Django 3.2.15 on 2022-12-16 15:12 +import json + +from django.conf import settings +from django.db import migrations + +from buildinfo.utils import get_datetime + + +def restore_timestamps(apps, schema_editor): + BuildInfo = apps.get_model("buildinfo", "BuildInfo") + for info in BuildInfo.objects.all(): + build_path = settings.JBI_BASEDIR.joinpath( + info.jobname, str(info.buildnumber), "build.json" + ) + if build_path.exists(): + with build_path.open("r") as f: + build_info = json.load(f) + info.datetime = get_datetime(build_info["timestamp"]) + info.save() + + +class Migration(migrations.Migration): + + dependencies = [ + ("buildinfo", "0004_buildinfo_datetime"), + ] + + operations = [ + migrations.RunPython(restore_timestamps), + ]