mysql数据版本控制_如何对MySQL数据模型进行版本控制和同步?
生活随笔
收集整理的這篇文章主要介紹了
mysql数据版本控制_如何对MySQL数据模型进行版本控制和同步?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在工作中,我們開發了一個小腳本來管理我們的數據庫版本控制。對任何表或數據集的每次更改都會獲得它自己的SQL文件。
文件按順序編號。我們通過將該信息存儲在數據庫中來跟蹤已運行的更新文件。當文件即將執行時,腳本會插入帶有文件名的行,并在執行完成時使用完成時間戳更新行。這包含在事務中。 (值得記住的是,MySQL中的DDL命令不能在事務中發生。任何在事務中執行DDL的嘗試都會導致隱式提交。)
因為SQL文件是我們源代碼存儲庫的一部分,所以我們可以使更新腳本成為正常部署過程的一部分。這使得數據庫和代碼保持同步變得容易。老實說,最困難的部分是確保另一個開發人員沒有在掛起的提交中抓取下一個數字。
我們將此更新系統與我們的開發數據庫的(可選)夜間擦除相結合,將內容替換為昨晚的實時系統備份。恢復備份后,將運行更新,并在此過程中運行任何掛起的更新文件。
恢復的方式是只覆蓋實時數據庫中的表。因此,任何添加表的更新也必須負責僅在不存在時添加它。 DROP TABLE IF EXISTS很方便。不幸的是,并非所有數據庫都支持這一點,因此更新系統還允許執行用我們選擇的語言編寫的腳本,而不僅僅是SQL。
所有這些都在大約150行代碼中。它就像讀取目錄,將內容與表格進行比較,以及按照確定的順序執行尚未執行的任何內容一樣簡單。
總結
以上是生活随笔為你收集整理的mysql数据版本控制_如何对MySQL数据模型进行版本控制和同步?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringJDBC解析3-回调函数(u
- 下一篇: ARM TK1 安装kinect驱动