# Generated by Django 4.2.6 on 2023-10-30 13:16 import os import sys import shutil import ram.utils import roster.models from django.db import migrations, models from django.conf import settings def move_images(apps, schema_editor): sys.stdout.write("\n Processing files. Please await...") for r in roster.models.RollingStockImage.objects.all(): fname = os.path.basename(r.image.path) new_image = roster.models.rolling_stock_image_upload(r, fname) new_path = os.path.join(settings.MEDIA_ROOT, new_image) os.makedirs(os.path.dirname(new_path), exist_ok=True) try: shutil.move(r.image.path, new_path) except FileNotFoundError: sys.stderr.write(" !! FileNotFoundError: {}\n".format(new_image)) pass r.image.name = new_image r.save() class Migration(migrations.Migration): dependencies = [ ("roster", "0019_rollingstockdocument_private"), ] operations = [ migrations.AlterField( model_name="rollingstockimage", name="image", field=models.ImageField( blank=True, null=True, storage=ram.utils.DeduplicatedStorage, upload_to=roster.models.rolling_stock_image_upload, ), ), migrations.RunPython( move_images, reverse_code=migrations.RunPython.noop ), ]