我想開始進入這整個SVN的東西......我有一個與svn一起發佈的mac服務器,但我有一個問題。備份一個數據庫到SVN
如果即時進入我開發的網站,我明白這些文件必須添加,但是如何備份與該網站相關的數據庫?
如果有人能讓我知道他們如何去做這件事,那會很棒。
乾杯
我想開始進入這整個SVN的東西......我有一個與svn一起發佈的mac服務器,但我有一個問題。備份一個數據庫到SVN
如果即時進入我開發的網站,我明白這些文件必須添加,但是如何備份與該網站相關的數據庫?
如果有人能讓我知道他們如何去做這件事,那會很棒。
乾杯
這裏的要點是,您不僅希望備份您的數據庫模式和靜態數據,還希望能夠在給定的修訂版本中重現該模式的特定狀態。
這是我使用的解決方案,它不是最好的,因爲它需要你的努力,但它是一個簡單而且工作良好的解決方案。
在一個叫子 「DB」 我這是SVN版本下的三個文件:
- schema.sql文件
- 啓動data.sql
- increments.sql
當有更大的變化或「標籤」分支,我採用新的模式導出和開始數據,並清空增量.sql。
當模式發生小的變化時,我將相應的查詢添加到增量中。
這樣我就可以隨時爲每個給定的修訂版本重現給定的DB狀態。如果我不忘記修改增量,那就是。
我不在版本控制系統中「備份」數據庫。我使用「最佳實踐」來備份數據庫(對於不同的dbms它是不同的)。有時它是一個cron上的簡單轉儲。其他時候,我只是使用一個工具來爲我管理它。
我做檢查和管理我的DDL SQL(模式)和dml SQL的不變數據(靜態數據)到VCS中的平面SQL文件。我通常在與源代碼相同的vcs中執行此操作,以便它們可以一起進行版本化,並且我始終可以知道特定修訂的模式。
如何轉儲備份取決於您使用的數據庫類型。對於mysql,您可以使用命令mysqldump將整個模式和數據轉儲到單個文件。然後將該文件置於版本控制之下,並定期更新。
我不知道你的數據庫的大小,但是對於一個典型的wordpress/joomla/drupal站點來說,數據庫的大小通常不夠大,我會關心增量備份,每次只做一次完整的轉儲時間。