Ruby
China
重构
将现有的 model 的 pk 从 bigint 的 id 变为 uuid, 是放在 migration 还是 task 中比较好.
社区
招聘
Wiki
酷站
Gems
注册
登录
重构
将现有的 model 的 pk 从 bigint 的 id 变为 uuid, 是放在 migration 还是 task 中比较好.
zengfengbo
·
2017年11月29日
· 6093 次阅读
步骤如下
找到对应的 model(M), 添加 uuid 字段,生成 uuid(Uniq).
找到以 M.id 为外键的其他 model(FM) 所有字段,添加对应的对应的 m_uuid(Uniq).
根据之前的 FK 关系,同步 m_uuid = uuid.
解除之前按 id 建立的外键依赖,添加 uuid 之间的外键依赖。
重命名,id->id2, 所有 m_id->m_id2, uuid->id, 所有 m_uuid->m_id.
可选,删除 id2, 和 m_id2.
暂无回复。
需要
登录
后方可回复, 如果你还没有账号请
注册新账号
@zengfengbo
共收到
0
条回复
收到新回复,点击立即加载