-- Eindeutigkeit des Repository-Orts (Phase 22). -- -- Bis hierher liessen sich zwei Eintraege auf dasselbe Verzeichnis anlegen. Das -- ist kein Schoenheitsfehler: Zwei Auftraege hielten sie fuer verschiedene -- Ziele, rissen sich um dieselbe Schreibsperre, und die Kennzahlen zaehlten -- denselben Speicher doppelt. Aufgefallen ist es beim Einbau des Endpunkts zum -- Eintragen eines Repositorys — solange man nur ueber SQL eintrug, hat niemand -- danach gefragt. -- -- Bestehende Doppelungen lassen die Migration scheitern. Das ist gewollt: Sie -- muessen von Hand aufgeloest werden, weil nur ein Betreiber weiss, welcher der -- beiden Eintraege der richtige ist. ALTER TABLE repositories ADD CONSTRAINT repositories_location_key UNIQUE (location); COMMENT ON CONSTRAINT repositories_location_key ON repositories IS 'Ein Verzeichnis traegt genau ein Repository; zwei Eintraege darauf ergaeben Wettlauf und Doppelzaehlung.';