Files
provisioning-server/migrations/0026_bereitstellungsvorlage_target_disk_rank.sql
T
admin 7ee62407b7 Mehrplatten-Heuristik: target_disk_rank in Bereitstellungsvorlagen
Neues Feld installation_directives.partitioning.target_disk_rank (Default
1 = groesste Platte) auf CreateBereitstellungsvorlageRequest/
create_bereitstellungsvorlage() - ersetzt den bisherigen impliziten
Default in backends/mint-image/backend.sh ("erste Platte in
lsblk-Erkennungsreihenfolge", nicht deterministisch bei mehreren internen
Datentraegern). Migration 0026 setzt den neuen Default in der
partitioning-Spalte und zieht bestehende Zeilen nach.

Siehe platform-docs/roadmap/multi-distro-merkmal-workspace-creator.md,
Phase 0 (Mehrplatten-Heuristik), 08.09.2026 mit dem Nutzer entschieden.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LpNs8yZeQkHgMWx6WNT1QH
2026-09-08 15:32:58 +02:00

26 lines
1.2 KiB
PL/PgSQL

BEGIN;
-- target_disk_rank in installation_directives.partitioning (JSONB) - Rang
-- nach Plattengroesse fuer Geraete mit mehreren internen Datentraegern
-- (1 = groesste Platte, absteigend sortiert, mit deterministischem
-- Tiebreak per Geraetepfad bei gleich grossen Platten). Ersetzt den
-- bisherigen impliziten Default "immer die erste Platte in
-- lsblk-Erkennungsreihenfolge" in
-- backends/mint-image/backend.sh:_mint_image_detect_target_disk() - jene
-- Reihenfolge war nicht deterministisch (abhaengig von Bus-Typ/Anschluss/
-- Erkennungszufall). Siehe platform-docs/roadmap/
-- multi-distro-merkmal-workspace-creator.md, Phase 0 (Mehrplatten-
-- Heuristik), 08.09.2026 entschieden+umgesetzt.
ALTER TABLE bereitstellungsvorlagen
ALTER COLUMN partitioning SET DEFAULT
'{"scheme": "single", "root_filesystem": "ext4", "target_disk_rank": 1}'::jsonb;
-- Bestehende Zeilen explizit nachziehen statt sich auf den Laufzeit-
-- Fallback "// 1" im Backend zu verlassen - self-documenting statt
-- stillschweigend implizit.
UPDATE bereitstellungsvorlagen
SET partitioning = partitioning || '{"target_disk_rank": 1}'::jsonb
WHERE NOT (partitioning ? 'target_disk_rank');
COMMIT;