0
我在postgresql數據庫中有一個遺留列,這是一個序列化哈希,我想將其轉換爲json數據類型。我敢肯定,我不能只是做一個遷移,並將其轉換爲JSON。請告訴我創建新列的最簡單方法,將數據從一列複製到另一列,刪除舊列並重命名新列。Rails:什麼是將序列化哈希列轉換爲json列的最簡單方法
我在postgresql數據庫中有一個遺留列,這是一個序列化哈希,我想將其轉換爲json數據類型。我敢肯定,我不能只是做一個遷移,並將其轉換爲JSON。請告訴我創建新列的最簡單方法,將數據從一列複製到另一列,刪除舊列並重命名新列。Rails:什麼是將序列化哈希列轉換爲json列的最簡單方法
雖然json列的行爲非常像序列化列,但請記住,某些情況下json列不能用於替換(例如,使用某些擴展名(如ActiveAdmin))。因此,我建議保留原始列,並以不同名稱非破壞性地將數據複製到新的JSON列。確保您可以安全地遷移數據,同時還原潛在的問題。
這一過程將是這個樣子:
find_each
),並從現有的序列化列副本數據,每條記錄的新創建的JSON列進行迭代。 承諾git
爲了消除停機時間,你會明顯地要運行的遷移,並通過rake任務中的數據複製部署步驟代碼變更前3
最後,當你自信的完整性您您可以刪除原始序列化列的數據,以便將JSON列重命名爲列的原始名稱。
謝謝你清楚,想出答案 – stevo999999
沒問題,祝你好運! –
如果它適合你,你會介意接受答案嗎? –