From 48ddd78e9e0191fd52e4af1645791b26b7c13db3 Mon Sep 17 00:00:00 2001 From: Agent Zero Date: Fri, 31 Jul 2026 20:56:06 +0200 Subject: [PATCH] =?UTF-8?q?gate2:=20fix=20mail=20plugin=20migration=200009?= =?UTF-8?q?=20=E2=80=94=20guard=20UPDATE=20for=20missing=20deleted=5Fat=20?= =?UTF-8?q?column=20on=20fresh=20DB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migrations/0009_remove_mail_soft_delete.sql | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/plugins/builtins/mail/migrations/0009_remove_mail_soft_delete.sql b/app/plugins/builtins/mail/migrations/0009_remove_mail_soft_delete.sql index 3ec9c89..7c55640 100644 --- a/app/plugins/builtins/mail/migrations/0009_remove_mail_soft_delete.sql +++ b/app/plugins/builtins/mail/migrations/0009_remove_mail_soft_delete.sql @@ -1,4 +1,15 @@ -- Remove soft-delete (deleted_at) logic from mails -- Mails now use standard mail program logic: folder_id for Trash, permanent DELETE for Trash empty -- This migration clears all existing deleted_at values so no mails are hidden -UPDATE mails SET deleted_at = NULL; +-- Safe for fresh installs: only update if column exists +DO $$ +BEGIN + IF EXISTS ( + SELECT 1 FROM information_schema.columns + WHERE table_schema = 'public' + AND table_name = 'mails' + AND column_name = 'deleted_at' + ) THEN + UPDATE mails SET deleted_at = NULL; + END IF; +END $$;