OpenNIT

Quelltext des aktuellen Standes

Fassung 1.1.1

236_license_assignment_source.sql

1 KB
-- Migration 236: Lizenzzuordnungen – woher sie stammen
--
-- Bei Microsoft-Lizenzen steht bisher nur die Zahl der belegten Plätze
-- (`consumedUnits` aus dem Entra-Abgleich). Wer einen Platz hält, wird in
-- `license_assignments` geführt – aber nur, wenn es jemand von Hand einträgt.
--
-- Damit der Abgleich das übernehmen kann, muss er seine eigenen Zeilen von
-- denen unterscheiden können, die jemand gepflegt hat: Er ersetzt seinen
-- Bestand bei jedem Lauf, und eine von Hand gesetzte Zuordnung darf dabei
-- nicht verschwinden.

ALTER TABLE `license_assignments`
    ADD COLUMN `source` ENUM('manual','entra') NOT NULL DEFAULT 'manual'
        COMMENT 'Woher die Zuordnung stammt; der Abgleich fasst nur eigene Zeilen an';

-- Der Abgleich sucht seine Zeilen über Lizenz und Herkunft.
ALTER TABLE `license_assignments`
    ADD INDEX `idx_la_source` (`source`, `license_id`);

-- Bestehende Zeilen sind von Hand entstanden – das ist bereits der
-- Spaltenvorgabewert, hier nur der Vollständigkeit halber festgehalten.
UPDATE `license_assignments` SET `source` = 'manual' WHERE `source` IS NULL;