-- ───────────────────────────────────────────────────────────────────────────── -- pc-live | Ordner je Postfach, Zustellungen zusammenhalten -- -- Bisher gehoerten Ordner der Person (identifier). Geteilte Postfaecher werden -- aber von mehreren bedient – dort muss die Ordnerstruktur dieselbe sein, -- sonst sortiert jeder in seine eigenen Faecher. -- -- address = NULL → persoenliche Ordner dieser Person (wie bisher) -- address gesetzt → Ordner des Postfachs, fuer alle gleich -- -- Eine Mail an ein geteiltes Postfach wird je Empfaenger einmal gespeichert -- (siehe DB.SendMailExtended). Damit das Einsortieren fuer alle gilt, bekommen -- alle Kopien einer Zustellung dieselbe delivery_id: wird eine Kopie in einen -- Ordner geschoben, wandern die anderen mit. -- -- Gelesen/geloescht bleibt bewusst persoenlich – das ist keine Eigenschaft der -- Nachricht, sondern der Person. -- -- Wiederholbar ausfuehrbar. -- ───────────────────────────────────────────────────────────────────────────── ALTER TABLE `pc_live_mail_folders` ADD COLUMN IF NOT EXISTS `address` VARCHAR(200) NULL DEFAULT NULL COMMENT 'Postfach, zu dem der Ordner gehoert. NULL = persoenlich'; ALTER TABLE `pc_live_mail_folders` ADD INDEX IF NOT EXISTS `idx_address` (`address`); ALTER TABLE `pc_live_mail` ADD COLUMN IF NOT EXISTS `delivery_id` CHAR(36) NULL DEFAULT NULL COMMENT 'Alle Kopien einer Zustellung teilen sich diesen Wert'; ALTER TABLE `pc_live_mail` ADD INDEX IF NOT EXISTS `idx_delivery` (`delivery_id`);