-- Bei MKCALENDAR sucht der **Client** die Adresse des neuen Kalenders aus -- ("…/calendars/max/arbeit/"). Unsere Kalender liegen sonst unter ihrer -- UUID. Ohne diese Spalte müsste der Server die gewählte Adresse verwerfen -- und der Client bekäme auf seine eigene Adresse ein 404. -- -- NULL heißt: keine gewählte Adresse, es gilt weiterhin die UUID. Alle -- bestehenden Kalender bleiben damit unter genau der Adresse erreichbar, -- unter der die eingerichteten Geräte sie schon kennen. ALTER TABLE cal_calendars ADD COLUMN IF NOT EXISTS path_segment TEXT; -- Teilweiser Index: Zwei Kalender desselben Kontos dürfen nicht dieselbe -- Adresse haben, aber beliebig viele dürfen gar keine haben. CREATE UNIQUE INDEX IF NOT EXISTS cal_calendars_owner_path_segment ON cal_calendars (owner_id, path_segment) WHERE path_segment IS NOT NULL;