-- 修复历史数据:对每个店铺取 created_at 最早的代理账号(user_type = 3)设为主账号(is_primary = true) -- 背景:shop/service.go 创建初始账号时未设置 is_primary = true,导致 fund-summary 接口查不到主账号信息 -- 策略:DISTINCT ON (shop_id) 按 created_at ASC 取最早账号;AND is_primary = false 避免覆盖已正确的数据 UPDATE tb_account a SET is_primary = true FROM ( SELECT DISTINCT ON (shop_id) id FROM tb_account WHERE shop_id IS NOT NULL AND user_type = 3 AND deleted_at IS NULL ORDER BY shop_id, created_at ASC ) earliest WHERE a.id = earliest.id AND a.is_primary = false;