fix(migrations): resolve new broken migration for multiple ocr languages

This commit is contained in:
perf3ct 2025-07-14 20:52:42 +00:00
parent 6bbf09e336
commit 686596481c
1 changed files with 5 additions and 9 deletions

View File

@ -27,16 +27,12 @@ ALTER TABLE settings
ADD CONSTRAINT check_max_preferred_languages ADD CONSTRAINT check_max_preferred_languages
CHECK (jsonb_array_length(preferred_languages) <= 4); CHECK (jsonb_array_length(preferred_languages) <= 4);
-- Add constraint to ensure valid language codes (3-letter ISO codes) -- Add constraint to ensure valid primary language code (3-letter ISO codes)
ALTER TABLE settings ALTER TABLE settings
ADD CONSTRAINT check_valid_language_codes ADD CONSTRAINT check_valid_primary_language_code
CHECK ( CHECK (primary_language ~ '^[a-z]{3}(_[A-Z]{2})?$');
primary_language ~ '^[a-z]{3}(_[A-Z]{2})?$' AND
( -- Note: preferred_languages validation is handled in application code due to PostgreSQL subquery limitations in CHECK constraints
SELECT bool_and(value::text ~ '^"[a-z]{3}(_[A-Z]{2})?"$')
FROM jsonb_array_elements(preferred_languages)
)
);
-- Update existing users who don't have settings yet -- Update existing users who don't have settings yet
INSERT INTO settings (user_id, preferred_languages, primary_language, auto_detect_language_combination) INSERT INTO settings (user_id, preferred_languages, primary_language, auto_detect_language_combination)