# 企业微信资产号码来源：受控数据库变更说明

本文件只定义待 DBA 在指定数据库和变更窗口执行的内容；本次没有连接、迁移或修改任何真实数据库。

## 变更字段

- `as_phone_asset.number_type`：`SELF`（自有号码）或 `EXTERNAL`（外部号码）。
- `as_phone_asset.source_asset_type`：创建外部号码的来源资产类型，例如 `WECOM`。
- `as_phone_asset.source_asset_id`：来源资产主键。
- `as_wecom_account.phone_link_mode`：`EXISTING`（已有号码）或 `CREATED`（新建号码）。

## 回填与索引

1. 历史 `as_phone_asset` 记录回填为 `SELF`，来源字段保持空。
2. 为 `as_phone_asset(source_asset_type, source_asset_id, delete_time)` 建立普通索引，支持来源跳转追溯。
3. 保留既有手机号与删除标记的唯一约束；部署前确认其可防止同一有效号码重复创建。

## 执行前检查与回滚

- 由 DBA 先在备份或预发布库验证列名、数据量和锁表影响。
- 应用已对空 `number_type` 兼容显示为“自有号码”，因此可先发布应用、后受控加列。
- 回滚时停止写入新字段并保留列，不删除已经写入的来源数据。
