回退的技術(shù)考量
- 編輯:admin -我們在討論回退保險策略時,常常會聽到客戶認(rèn)同回退策略,但認(rèn)為從技術(shù)上來說,回退是不可行的。對于這個質(zhì)疑,我們的回答是,從技術(shù)上說,幾乎一定可以進(jìn)行回退,只是你當(dāng)前的團(tuán)隊、流程和架構(gòu)不能實(shí)現(xiàn)回退罷了。
我們在討論回退保險策略時,常常會聽到客戶認(rèn)同回退策略,但認(rèn)為從技術(shù)上來說,回退是不可行的。對于這個質(zhì)疑,我們的回答是,從技術(shù)上說,幾乎一定可以進(jìn)行回退,只是你當(dāng)前的團(tuán)隊、流程和架構(gòu)不能實(shí)現(xiàn)回退罷了。
在基于Web的平臺或者后合辦公T系統(tǒng)中,不能回退最常見的借口是數(shù)據(jù)庫模式不兼容。這種觀點(diǎn)認(rèn)為,對于主要的軟件開發(fā)工作,因?yàn)樗鼈兛赡軙?shù)據(jù)庫模式作出重大修改,從而使存儲的新舊數(shù)據(jù)不兼容。這些修改可能會造成數(shù)據(jù)庫表關(guān)系的改變、候選關(guān)鍵字的改變、表列的改變、表增加了、表合并了、表分解了以及表被刪除了。
修復(fù)這種數(shù)據(jù)庫問題的關(guān)鍵是,在擴(kuò)展數(shù)據(jù)庫模式的同時,保留舊的數(shù)據(jù)庫關(guān)系和實(shí)體,至少在你遇到重大的性能問題需要回退到舊數(shù)據(jù)庫時,仍然可以使用它們。當(dāng)你出于功能或性能原因需要轉(zhuǎn)移數(shù)據(jù)以創(chuàng)建不同范式構(gòu)成的各種數(shù)據(jù)庫模式時,應(yīng)該考慮使用由數(shù)據(jù)庫觸發(fā)的數(shù)據(jù)轉(zhuǎn)移程序,或者使用一個數(shù)據(jù)轉(zhuǎn)移后臺程序或第三方的復(fù)制技術(shù)。當(dāng)你達(dá)到或者超出了需求中指定的回退版本個數(shù)時,這種數(shù)據(jù)轉(zhuǎn)移就會停止。在理想狀況下,在實(shí)施了變更后的一周或兩周內(nèi),驗(yàn)證了你不需要回退后,就可以關(guān)閉這種數(shù)據(jù)轉(zhuǎn)移系統(tǒng)。
在理想狀況下,你會限制這種數(shù)據(jù)轉(zhuǎn)移,而是把新數(shù)據(jù)寫人新的數(shù)據(jù)庫表或列中,而讓舊數(shù)據(jù)留在原有的數(shù)據(jù)庫表和列中。在很多情況下,這種方法都能滿足你的需求。當(dāng)你需要重組數(shù)據(jù)時,只需把在執(zhí)行回退的時間段中的微信小程序數(shù)據(jù)從新的位置轉(zhuǎn)移回舊的位置即可。如果你需要改變數(shù)據(jù)庫中一列的名字或者它在應(yīng)用中的含義,那么首先應(yīng)該撇開數(shù)據(jù)庫,修改應(yīng)用,然后再在將來發(fā)布新版本時,修改數(shù)據(jù)庫。這是回退一般原則的一個例子,即在一個發(fā)布版本中修改應(yīng)用,在之后的另一次發(fā)布中,再修改數(shù)據(jù)庫。
