Ruby
China
重构
将现有的 model 的 pk 从 bigint 的 id 变为 uuid, 是放在 migration 还是 task 中比较好.
Topics
招聘
Wiki
酷站
Gems
Sign Up
Sign In
重构
将现有的 model 的 pk 从 bigint 的 id 变为 uuid, 是放在 migration 还是 task 中比较好.
zengfengbo
·
November 29, 2017
· 6104 hits
步骤如下
找到对应的 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.
No Reply at the moment.
You need to
Sign in
before reply, if you don't have an account, please
Sign up
first.
@zengfengbo
Total
0
replies
New Reply comming, click to load.