重构 将现有的 model 的 pk 从 bigint 的 id 变为 uuid, 是放在 migration 还是 task 中比较好.

zengfengbo · 2017年11月29日 · 6093 次阅读

步骤如下

  1. 找到对应的 model(M), 添加 uuid 字段,生成 uuid(Uniq).
  2. 找到以 M.id 为外键的其他 model(FM) 所有字段,添加对应的对应的 m_uuid(Uniq).
  3. 根据之前的 FK 关系,同步 m_uuid = uuid.
  4. 解除之前按 id 建立的外键依赖,添加 uuid 之间的外键依赖。
  5. 重命名,id->id2, 所有 m_id->m_id2, uuid->id, 所有 m_uuid->m_id.
  6. 可选,删除 id2, 和 m_id2.
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请 注册新账号