目前情況:
環境:是一個可多用戶同時操作的一個系統,下面以學生管理系統舉例
新建動作:新建了一份學生資料A,版本為01,具體內容分布在db中的多張表里,表中都是學號作為主鍵,只有一張history表會記錄版本變更。
改版動作:在對應的表中改了A中該學生的家庭地址,update操作,由地址1變為了地址2,相應檔案A版本升為02,history表中會由原先的一條記錄A-01變為兩條記錄A-01和A-02。
要求: 能讓資料A由版本02恢復到版本01,
因為是接手的專案,一開始別人設計的就只是列出版本歷史,沒有想著能將整份檔案恢復到以前的某一個特定版本,所以專案中代碼用的資料庫相應的增刪改操作都已寫好,如今大面積修改代碼不現實,也不會被允許。
上面只是舉例,所以只有一條update陳述句,實際中會有很多不同表修改,洗掉,新增等動作。
想請問大家有什么好的辦法可以解決目前這種情況?
謝謝。
uj5u.com熱心網友回復:
沒看明白如果你說的恢復,是指整體恢復到某一個時間點,那么用資料庫的備份+恢復實作
如果你的恢復,僅僅是確定性的恢復,比如你舉例的學生資料的恢復,只恢復學生資料及相關表到某個歷史版本,但不與之相關的表不恢復,那你只能寫代碼實作,因為相關性是人為確定的,恢復的需求和具體處理也是人為確定的,只能通過代碼按斬訓復需求去做具體的實作
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/102441.html
標籤:MySQL
