2011-08-24 76 views
1

我花了兩天的時間閱讀關於SO,博客文章,論壇等的問題。Drupal部署:如何處理數據庫?

大部分信息都是舊的。

我正在使用Drupal 7(Drush)和GitHub進行回購託管,在我的Ubuntu盒子上構建一個站點。我有SSH訪問生產服務器。

在我發佈網站的第一個版本之後,我將不得不添加功能並修復錯誤。

一位朋友告訴我將我的SQL文件存儲在回購站中,然後從那裏開始。

我的問題是:什麼是最好的方法?有沒有一個好的做法提醒這個?

謝謝!

回答

1

我不是Drupal專家,但是在一般情況下,數據庫部署非常棘手 - 特別是如果最終得到測試和產品環境,因爲更改最終需要訂購。我建議使用某種形式的「主腳本」來執行您需要的數據庫更新。我們用查詢來包裝我們的數據庫,並詢問數據庫是什麼版本,並且只應用新的SQL更新。

+0

也許我可以使用某個地方託管的主分貝...... – fedeisas

0

Drupal中的部署是一個複雜的主題,因爲Drupal本身對於配置管理的一般主題沒有很好的答案。 A major initiative已經在Drupal 8中取得了重大進展,但現在,我們處理存儲在數據庫中的內容和配置的尷尬。

至少,您將需要數據庫轉儲的內容。從那裏,它成爲一系列可能的散文。只需觸及幾個:

  • 在模塊中使用update hooks來管理作爲部署工作流程一部分的數據庫更改。
  • 使用exportables/everything-in-code方法,其中數據庫的配置類型位作爲站點自定義模塊的一部分導出爲PHP代碼。太多的不同方式可以爲我找到一個好的頁面鏈接,但我們使用Features模塊。
  • 使用drush作爲rsync的包裝,因此您可以使用工具別名等工具來管理部署和數據傳輸。 Drush是一個很棒的工具,只是繼續深入研究。

您可以將您的SQL轉儲到存儲庫,但是我們不認爲它是必需的,因爲我們關心的所有配置版本都導出到代碼。所以SQL轉儲真的相當於一個備份。