各種加欄位手法測驗
| 新老表差異 | 表內資料 | 升級手法 | CURD 結果 | 解決方案 |
|---|---|---|---|---|
| 最后加一個加欄位 | 無資料 | re-deploy | 加記錄前查全表: OK 加記錄(不帶新欄位): OK 加記錄(帶新欄位): OK 加記錄后查全表: OK 洗掉新資料行: OK 加記錄后查全表: OK 指定查新資料行: OK | |
| 最后加一個欄位 | 有老資料 | re-deploy | 加記錄前查全表: Fail 加記錄(不帶新欄位): OK 加記錄(帶新欄位): OK 加記錄后查全表: Fail 指定查新資料行: OK 指定查老資料行: Fail 修改新資料行: OK 修改老資料行: Fail 洗掉新資料行: OK 洗掉老資料行: Fail | |
| 最后加一個欄位 | 有老資料 | clear; redeploy | 之前資料沒了, 但之后一切 OK | option1: 先清資料, 再改表欄位 |
| 最后加一個欄位 | 有老資料 | 資料遷移, 較復雜, 請參考 | 資料保留, 且之后一切 OK | option2: 建新表結構, 建新表, 資料遷移, 改老表名, 再改新表名 |
方案
- 簡單: 先清資料, 再改表欄位
- 復雜: 建新表結構, 建新表, 資料遷移, 改老表名, 再改新表名
- 推薦: 將所有屬性欄位序列化成json格式后,保存到合約表中的一個欄位中
- 推薦: 使用EOS 2.1版本的新功能,物件存盤
-
往期精彩回顧:
- 區塊鏈知識系列
- 密碼學系列
- 共識系列
- 公鏈調研系列
- 以太坊系列
- EOS系列
- 智能合約系列
- Token系列
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/271433.html
標籤:區塊鏈
上一篇:精彩回顧丨CyberVein全球大使Jack做客幣世界直播間,進行《Heco重構想象,講述NFT中場故事》&CROSS主題分享
