mysql数据库version版本控制_MySQL数据库版本控制
你用什么方法來控制你的數據庫?我已經將所有數據庫表作為單獨的.sql腳本提交到我們的respository(mercurial)。這樣,如果團隊中的任何成員對employee表進行了更改,比如說,當我更新我的存儲庫時,我會立即知道哪個表被修改了。在
這種方法在:What are the best practices for database scripts under code control中描述過。
目前,我正在編寫一個python腳本來執行數據庫文件夾中的所有.sql文件,但是,由于外鍵約束而產生的依賴性問題確保了我們不能僅僅以任何順序運行.sql文件。在
python腳本將按照.sql文件的執行順序生成一個文件。它將按照.sql文件在表格順序.txt文件。表只有在外鍵表被執行之后才能執行,例如:
在表格順序.txt在
表3.sql
表1.sql
table7.sql等
我已經通過解析“show create table”mysql命令的結果,從代碼中為每個表生成了依賴關系列表。依賴關系列表如下所示:tblstate: tblcountry //tblcountry.sql must be executed before tblstate.sql etc
tblemployee: tbldepartment, tblcountry
生成表格順序.txt,我需要一個這樣的算法:
^{pr2}$
正如您所想象的,這涉及到許多遞歸。我開始懷疑這是否值得努力?如果外面有什么工具?有什么工具(或算法)來生成執行單獨的.sql表和視圖的順序列表,并考慮到依賴關系?對每個表/視圖單獨的.sql文件進行版本控制更好,還是將整個數據庫的版本控制為單個.sql文件更好?我將感謝你的任何回應,因為這花了這么多天。謝謝。在
總結
以上是生活随笔為你收集整理的mysql数据库version版本控制_MySQL数据库版本控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《楚乔传》楚乔宇文玥滚床单 最终生下三个
- 下一篇: easypanel mysql错误_Ea