BEGIN;

-- installation_directives.partitioning ist jetzt ein strukturiertes Objekt
-- statt eines einfachen Strings (siehe tuxflotte-installer Phase 2,
-- backend_generate_config() erwartet {"scheme": "single"|"custom",
-- "root_filesystem": "ext4"|"btrfs", "extra_partitions": [...]}) -
-- bestehende "default"-Werte werden auf die neue single-scheme-Form
-- abgebildet.
-- Bestehender Textdefault muss vor der Typumstellung weg (kann nicht
-- automatisch nach JSONB gecastet werden).
ALTER TABLE bereitstellungsvorlagen
    ALTER COLUMN partitioning DROP DEFAULT;

ALTER TABLE bereitstellungsvorlagen
    ALTER COLUMN partitioning TYPE JSONB
    USING CASE
        WHEN partitioning = 'default' THEN '{"scheme": "single", "root_filesystem": "ext4"}'::jsonb
        ELSE to_jsonb(partitioning)
    END;

ALTER TABLE bereitstellungsvorlagen
    ALTER COLUMN partitioning SET DEFAULT '{"scheme": "single", "root_filesystem": "ext4"}'::jsonb;

COMMIT;
