-- Author: fruit.com.cn -- 短剧类型名称改为勾选语言。中文仍在 name,英文和印尼语写入原列与 locales。 ALTER TABLE drama_category ADD COLUMN IF NOT EXISTS name_en VARCHAR(64) NOT NULL DEFAULT ''; ALTER TABLE drama_category ADD COLUMN IF NOT EXISTS name_id VARCHAR(64) NOT NULL DEFAULT ''; ALTER TABLE drama_category ADD COLUMN IF NOT EXISTS name_locales TEXT NOT NULL DEFAULT '{}'; UPDATE drama_category SET name_locales = ( SELECT COALESCE(json_object_agg(k, v), '{}'::json)::text FROM ( SELECT 'zh' AS k, name AS v WHERE name <> '' UNION ALL SELECT 'en', name_en WHERE name_en <> '' UNION ALL SELECT 'id', name_id WHERE name_id <> '' ) s ) WHERE name_locales = '{}'; UPDATE drama_category AS c SET name_en = v.name_en, name_id = v.name_id, name_locales = json_build_object('zh', c.name, 'en', v.name_en, 'id', v.name_id)::text FROM (VALUES (1::bigint, 'Urban Romance', 'Romansa Urban'), (2, 'Rebirth Comeback', 'Kelahiran Kembali'), (3, 'Sweet Romance', 'Romansa Manis'), (4, 'Suspense Revenge', 'Balas Dendam'), (2112443900437336065, 'Campus Action', 'Aksi Kampus'), (2112443936592236545, 'Horror Mystery', 'Horor Misteri'), (2112444003856289794, 'Infinite Travel', 'Perjalanan Tanpa Batas'), (2112444050467590146, 'Thriller Horror', 'Thriller Horor'), (2112444103433261057, 'Indonesia Exclusive', 'Eksklusif Indonesia') ) AS v(id, name_en, name_id) WHERE c.id = v.id AND (c.name_en = '' OR c.name_id = '');