2013/08/14

使用 Demonstration site 取代 Backup and Migrate

在建立 Drupal 網站的時候,我們會花很多在測試模組上,這時候我們會需要一個能夠快速備份還原資料庫的功能~

在 Drupal 模組中,有兩個模組可以做這件事,一個是 Backup and Migrate 模組,另外一個是 Demonstration site 模組。

然而 Backup and Migrate 有個致命的缺點:那就是在還原資料庫時,他不會先 Drop 掉所有的資料表再還原。

這個缺點會有什麼影響呢?試想下列情況:
  1. 用 Backup and Migrate 備份 =>Test Backup
  2. enable 某個會建立資料表的模組 (例如: Commerce Cart) => Test Module
  3. 用 Backup and Migrate 還原 Test Backup
  4. enable Test Module
在第二次 enable Test Module 時,會發生資料表已存在的錯誤
通常我們在使用還原功能時,並不會有習慣去 disable & uninstall 模組,所以這個缺點還蠻要命的~

另外 Backup and Migrate 還有個問題就是只支援 MySQL / MariaDB,其他的資料庫並不支援;不過這個問題我個人是覺得還好,畢竟比較常用的也是 MySQL。

最後要說一下 Demonstration site 模組的問題:
  • 目前 7.x-1.0 這個版本有問題,不能正常還原,要用 7.x-1.x-dev 的版本才行
  • Demonstration site 的更新沒有 Backup and Migrate 勤快
  • 設定也比較簡單,沒有備份檔案或是其他的進階功能
  • 在 bug report 那邊也是有 bug 擺了半年以上沒人處裡