35 lines
2 KiB
MySQL
35 lines
2 KiB
MySQL
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
|||
|
|
-- pc-live | Private, geteilte und oeffentliche Kalender
|
|||
|
|
--
|
|||
|
|
-- Bisher gehoerte jeder Termin genau einer Person. Kalender sollen aber auch
|
|||
|
|
-- gemeinsam gefuehrt werden – Dienstplaene, Gerichtstermine, Veranstaltungen.
|
|||
|
|
--
|
|||
|
|
-- Geteilt wird ueber dasselbe Mittel wie Postfaecher und Ordner: die Adresse.
|
|||
|
|
-- Wer das Postfach bedienen darf, fuehrt auch dessen Kalender.
|
|||
|
|
--
|
|||
|
|
-- visibility address sieht bearbeitet
|
|||
|
|
-- ────────── ───────── ──────────────────────── ───────────────────────
|
|||
|
|
-- private NULL nur die Person nur die Person
|
|||
|
|
-- shared Postfach wer das Postfach hat wer das Postfach hat
|
|||
|
|
-- public Postfach jeder auf dem Server wer das Postfach hat
|
|||
|
|
--
|
|||
|
|
-- Ein oeffentlicher Termin haengt bewusst auch an einem Postfach: sonst gaebe
|
|||
|
|
-- es niemanden, der ihn spaeter noch aendern oder absagen koennte.
|
|||
|
|
--
|
|||
|
|
-- Wiederholbar ausfuehrbar.
|
|||
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
|||
|
|
|
|||
|
|
ALTER TABLE `pc_live_calendar`
|
|||
|
|
ADD COLUMN IF NOT EXISTS `address` VARCHAR(200) NULL DEFAULT NULL
|
|||
|
|
COMMENT 'Postfach, dessen Kalender das ist. NULL = privat';
|
|||
|
|
|
|||
|
|
ALTER TABLE `pc_live_calendar`
|
|||
|
|
ADD COLUMN IF NOT EXISTS `visibility` ENUM('private','shared','public')
|
|||
|
|
NOT NULL DEFAULT 'private';
|
|||
|
|
|
|||
|
|
ALTER TABLE `pc_live_calendar`
|
|||
|
|
ADD INDEX IF NOT EXISTS `idx_address` (`address`);
|
|||
|
|
|
|||
|
|
ALTER TABLE `pc_live_calendar`
|
|||
|
|
ADD INDEX IF NOT EXISTS `idx_visibility` (`visibility`);
|