0
我創建了一個以UUID作爲主鍵的Order
。 現在,我想將其更改回正常的增量整數。Rails:從UUID到ID
我試圖運行像遷移:
add_column :orders, :id, :primary_key
但它顯然是行不通的,因爲已經有一個id
列。
我發現了很多關於如何從id到uuid的帖子,但沒有找到如何反轉它。
我創建了一個以UUID作爲主鍵的Order
。 現在,我想將其更改回正常的增量整數。Rails:從UUID到ID
我試圖運行像遷移:
add_column :orders, :id, :primary_key
但它顯然是行不通的,因爲已經有一個id
列。
我發現了很多關於如何從id到uuid的帖子,但沒有找到如何反轉它。
表格是否有數據?
如果沒有,只是刪除舊id列,並添加新:
remove_column :orders, :id
add_column :orders, :id, :primary_key
如果是的話,重命名id
列id_deprecated
rename_column :orders, :id, :id_deprecated
add_column :orders, :id, :primary_key
,並添加您的邏輯來處理其他表的old_id引用。
如果還有其他協會,這可能是微不足道的。您需要一個來自UUID - > ID的映射表,然後需要更新* everything *。 – tadman
不需要有另一張地圖表,'id_deprecated'' <->'id'將在'orders'中可用,然後它只是'join'和更新其他表的問題 –
如果您已經丟棄了原始UUID值主表。你將如何匹配其他記錄? – tadman