-- 一次性数据迁移(jvs-dw 专属):品牌级 tenant → 集团级 tenant。
--
-- 背景:租户模型改造 P0。把两个品牌 tenant(瑞尔 ba67e6cf… / 瑞泰 77057aed…)
--       合并为一个集团 tenant slug 'ruier-grp',品牌降为 patients.source_unit。
--
-- 安全性(见 docs/tenant-group-org-model-refactor.md §2/§9):
--   "换槽位不加信息" — 把 brand 从 tenant_id 槽搬到 source_unit 槽。
--   472 撞号(同 external_id 不同品牌 = 不同人)由 source_unit 分开,不发生任何合并。
--   顺序:先回填 source_unit(读旧 tenant_id),再 remap tenant_id。
--
-- 可逆:source_unit ↔ 旧 tenant 映射保留;回退即按 source_unit 反推旧 UUID。
-- 幂等:WHERE 限定旧 UUID,重复执行不会二次改(旧 UUID 已不存在)。

BEGIN;

-- ① 回填 patients.source_unit(从旧品牌 tenant_id)
UPDATE patients SET source_unit = '瑞尔' WHERE tenant_id = 'ba67e6cf30dc4f9c9c46adef188bbd04';
UPDATE patients SET source_unit = '瑞泰' WHERE tenant_id = '77057aed269f4a14957ae0ad0eff359a';

-- ② 14 张带 tenant_id 的表:品牌 UUID → 集团 slug 'ruier-grp'
DO $$
DECLARE t text;
BEGIN
  FOREACH t IN ARRAY ARRAY[
    'agent_invocations','followup_plans','patient_facts','patient_relations',
    'patient_return_visits','patient_transactions','patients','persona_recompute_logs',
    'personas','plan_executions','plan_generation_logs','plan_scripts',
    'plan_summaries','sync_logs'
  ] LOOP
    EXECUTE format(
      'UPDATE %I SET tenant_id = ''ruier-grp'' WHERE tenant_id IN (%L, %L)',
      t, 'ba67e6cf30dc4f9c9c46adef188bbd04', '77057aed269f4a14957ae0ad0eff359a'
    );
  END LOOP;
END $$;

COMMIT;
