For extra peace of mind, get the file lock before updating storage paths

This commit is contained in:
Trenton Holmes 2024-10-06 12:33:00 -07:00
parent 8889018ad4
commit dc94c2df48

View File

@ -1,18 +1,18 @@
# Generated by Django 5.1.1 on 2024-10-03 14:47
from django.conf import settings
from django.db import migrations
from django.db import models
from django.db import transaction
def convert_from_format_to_template(apps, schema_editor):
# TODO: Is there a signal to disable? I don't want documents getting moved while this is running
StoragePath = apps.get_model("documents", "StoragePath")
from filelock import FileLock
from documents.templating.utils import convert_format_str_to_template_format
with transaction.atomic():
def convert_from_format_to_template(apps, schema_editor):
StoragePath = apps.get_model("documents", "StoragePath")
with transaction.atomic(), FileLock(settings.MEDIA_LOCK):
for storage_path in StoragePath.objects.all():
storage_path.path = convert_format_str_to_template_format(storage_path.path)
storage_path.save()