35 lines
1.8 KiB
MySQL
35 lines
1.8 KiB
MySQL
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
|||
|
|
-- 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`);
|