From ee9d83049c285c8528068e2b6238cca0599a08f7 Mon Sep 17 00:00:00 2001 From: jedi Date: Fri, 8 Nov 2024 22:23:52 +0100 Subject: [PATCH] save raw_mails as file --- core/mail/migrations/0007_email_raw_file.py | 36 +++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 core/mail/migrations/0007_email_raw_file.py diff --git a/core/mail/migrations/0007_email_raw_file.py b/core/mail/migrations/0007_email_raw_file.py new file mode 100644 index 0000000..03d0db0 --- /dev/null +++ b/core/mail/migrations/0007_email_raw_file.py @@ -0,0 +1,36 @@ +# Generated by Django 4.2.7 on 2024-11-08 20:37 +from django.core.files.base import ContentFile +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('mail', '0006_alter_eventaddress_address'), + ] + + def move_raw_mails_to_file(apps, schema_editor): + Email = apps.get_model('mail', 'Email') + for email in Email.objects.all(): + raw_content = email.raw + email.raw_file = ContentFile(raw_content) + email.raw = None + email.save() + + operations = [ + migrations.AddField( + model_name='email', + name='raw_file', + field=models.FileField(null=True, upload_to='raw_mail/'), + ), + migrations.RunPython(move_raw_mails_to_file), + migrations.RemoveField( + model_name='email', + name='raw', + ), + migrations.AlterField( + model_name='email', + name='raw_file', + field=models.FileField(upload_to='raw_mail/'), + ), + ]