20 lines
955 B
MySQL
20 lines
955 B
MySQL
|
|
-- =====================================================================
|
||
|
|
-- TeeCup — migrasjon 010
|
||
|
|
-- Offisiell banedata fra teeoff: hindre dupliserte importer (ADR-019)
|
||
|
|
-- =====================================================================
|
||
|
|
-- Kjøres etter 001-009. Additiv (partiell unik indeks, rører ingen
|
||
|
|
-- eksisterende rader -- alle course-rader har source='custom' i dag,
|
||
|
|
-- external_course_ref er alltid NULL, og NULL matcher aldri seg selv i en
|
||
|
|
-- UNIQUE-indeks).
|
||
|
|
-- =====================================================================
|
||
|
|
|
||
|
|
\set ON_ERROR_STOP on
|
||
|
|
|
||
|
|
-- Importerer en organisator samme teeoff-bane to ganger, skal den andre
|
||
|
|
-- importen avvises av den eksisterende DUPLICATE-feilkoden (409) --
|
||
|
|
-- ikke stille sette inn en ny rad med identisk banedata (ADR-019
|
||
|
|
-- Beslutning E).
|
||
|
|
CREATE UNIQUE INDEX course_org_external_ref_unique
|
||
|
|
ON course (organization_id, external_course_ref)
|
||
|
|
WHERE external_course_ref IS NOT NULL;
|