Files
Starlight_Lancher/packages/app-lib/migrations/20260720130100_adaptive-download-sources.sql

51 lines
1.8 KiB
SQL

ALTER TABLE settings ADD COLUMN auto_concurrent_downloads INTEGER NOT NULL DEFAULT TRUE;
ALTER TABLE settings
ADD COLUMN minecraft_metadata_source TEXT NOT NULL DEFAULT 'auto' CHECK (
minecraft_metadata_source IN ('auto', 'official_only', 'mirror_preferred')
);
ALTER TABLE settings
ADD COLUMN minecraft_file_source TEXT NOT NULL DEFAULT 'auto' CHECK (
minecraft_file_source IN ('auto', 'official_only', 'mirror_preferred')
);
ALTER TABLE settings
ADD COLUMN modrinth_source TEXT NOT NULL DEFAULT 'auto' CHECK (
modrinth_source IN ('auto', 'official_only', 'mirror_preferred')
);
ALTER TABLE settings
ADD COLUMN curseforge_source TEXT NOT NULL DEFAULT 'auto' CHECK (
curseforge_source IN ('auto', 'official_only', 'mirror_preferred')
);
UPDATE settings
SET
auto_concurrent_downloads = TRUE,
max_concurrent_downloads = MIN(MAX(max_concurrent_downloads, 1), 64),
minecraft_metadata_source = CASE
WHEN use_minecraft_mirror = FALSE
AND use_modrinth_mirror = TRUE
AND use_curseforge_mirror = TRUE THEN 'auto'
WHEN use_minecraft_mirror = TRUE THEN 'mirror_preferred'
ELSE 'official_only'
END,
minecraft_file_source = CASE
WHEN use_minecraft_mirror = FALSE
AND use_modrinth_mirror = TRUE
AND use_curseforge_mirror = TRUE THEN 'auto'
WHEN use_minecraft_mirror = TRUE THEN 'mirror_preferred'
ELSE 'official_only'
END,
modrinth_source = CASE
WHEN use_minecraft_mirror = FALSE
AND use_modrinth_mirror = TRUE
AND use_curseforge_mirror = TRUE THEN 'auto'
WHEN use_modrinth_mirror = TRUE THEN 'mirror_preferred'
ELSE 'official_only'
END,
curseforge_source = CASE
WHEN use_minecraft_mirror = FALSE
AND use_modrinth_mirror = TRUE
AND use_curseforge_mirror = TRUE THEN 'auto'
WHEN use_curseforge_mirror = TRUE THEN 'mirror_preferred'
ELSE 'official_only'
END;