Rename debrid fields and update user settings

Safely adds the 'debrid_service' column and conditionally updates existing rows based on the presence of 'debrid_token'.
This commit is contained in:
dum 2025-11-27 14:34:44 +05:30 committed by GitHub
parent eca7c8abe1
commit dea2a527aa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,5 +1,21 @@
-- Add debrid_service field (debrid_token was already renamed via db push)
ALTER TABLE "user_settings" ADD COLUMN "debrid_service" VARCHAR(255);
-- Safely add the new 'debrid_service' column if it doesn't exist yet
ALTER TABLE "user_settings" ADD COLUMN IF NOT EXISTS "debrid_service" VARCHAR(255);
-- Set default service to 'realdebrid' for existing users who have a token
UPDATE "user_settings" SET "debrid_service" = 'realdebrid' WHERE "debrid_token" IS NOT NULL;
-- Conditionally update existing rows to set the default service to 'realdebrid'
-- only if the 'debrid_token' column actually exists.
DO $$
BEGIN
IF EXISTS (
SELECT 1
FROM information_schema.columns
WHERE table_schema = 'public'
AND table_name = 'user_settings'
AND column_name = 'debrid_token'
) THEN
-- Use EXECUTE so the UPDATE is not parsed at compile time (avoids errors
-- if the column is missing at parse time in some PostgreSQL versions)
EXECUTE 'UPDATE "user_settings"
SET "debrid_service" = ''realdebrid''
WHERE "debrid_token" IS NOT NULL';
END IF;
END $$;