我正在做一個Web應用程序,我需要對一些主要更改進行分支,事實是,這些更改需要更改數據庫架構,因此我也希望將整個數據庫置于git下。我怎么做?我可以在git存儲庫下保存一個特定的文件夾嗎?我怎么知道哪一個?如何確定要放入正確的文件夾?我需要確定,因為這些更改不是向后兼容的。我無力承擔。我的數據庫是PostgreSQL編輯:有人建議進行備份,并將備份文件置于版本控制下而不是數據庫中。老實說,我發現這真的很難下咽。一定有更好的方法。更新:好的,因此沒有更好的方法,但是我仍然不太確信,所以我將稍微改變一下問題:我想將整個數據庫置于版本控制下,我可以使用哪個數據庫引擎,以便可以將實際數據庫置于版本控制下而不是其轉儲?sqlite是git友好的嗎?由于這只是開發環境,因此我可以選擇所需的任何數據庫。編輯2:我真正想要的不是跟蹤我的開發歷史,而是能夠從我的“新的根本性變化”分支切換到“當前穩定的分支”,并能夠例如使用當前版本修復一些錯誤/問題等。穩定分支。這樣,當我切換分支時,數據庫會自動與我當前所在的分支兼容。我不太在乎實際數據。
3 回答

蝴蝶不菲
TA貢獻1810條經驗 獲得超4個贊
進行數據庫轉儲,然后進行版本控制。這樣,它是一個純文本文件。
我個人建議您同時保留數據轉儲和架構轉儲。通過使用diff的這種方式,可以很容易地看到模式在修訂之間的變化。
如果要進行大的更改,則應該有一個輔助數據庫,您可以在其中更改新的架構,而不要觸摸舊的數據庫,因為正如您所說的,在進行分支。

炎炎設計
TA貢獻1808條經驗 獲得超4個贊
我開始想到一個非常簡單的解決方案,不知道為什么我以前沒有想到過!
復制數據庫(模式和數據)。
在new-major-changes的分支中,只需將項目配置更改為使用新的重復數據庫即可。
這樣,我可以切換分支而不必擔心數據庫架構更改。
編輯:
通過重復,我的意思是創建另一個具有不同名稱的數據庫(例如my_db_2);不做轉儲或類似的事情。
- 3 回答
- 0 關注
- 845 瀏覽
添加回答
舉報
0/150
提交
取消