2012-06-23 49 views
10

我正在尋找一種方法將Windows Azure上的Git部署與其MySQL或其他數據庫解決方案一起使用。使用Git部署Azure上的數據庫模式遷移

我需要將數據庫模式更改作爲部署的一部分進行遷移 - Azure是否在不使用Visual Studio或.NET的情況下爲此提供支持。

回答

0

我不確定您對Windows Azure網站有多少經驗,但是當您創建Windows Azure網站時,您可以使用直接與Windows Azure網站集成的SQL Azure數據庫或MySQL雲數據庫。

所以,如果你會使用SQL Azure數據庫,然後有幾種方法,您可以遷移數據庫這裏的鏈接如下:

Migrating Databases to Windows Azure SQL Database (formerly SQL Azure)

要管理的MySQL,你可以使用本地Web服務器來做到這一點。我所做的方式是使用PHP,MySQL命令行工具(MySQL的一部分)以及在本地計算機上設置的Web服務器,並且已啓用MySQL的PDO擴展。這樣我就可以直接從我自己的本地機器管理我的MySQL,並在本文底部解釋細節:

Create a PHP-MySQL Windows Azure web site and deploy using Git

如果您使用MySQL和Oracle SQL,如果您使用MySQL和Oracle SQL Developer,還可以在Workbench中編寫SQL部分。

最後,Git Deployment允許您將任何類型的應用程序直接部署到Windows Azure,而無需使用VSx。

+1

謝謝,我相信我目前正在做你提到的Azure。我現在想要做的就是能夠將我的MySQL數據庫模式與Git部署一起「版本化」。例如,假設我部署了一個新版本的網站,其中包含一個新表格和用於管理此網站的PHP - 我如何讓Azure爲新部署自動更新數據庫模式,並且理想情況下,如果我回滾部署? – James

+0

您可能需要像通過PHPAdmin一樣直接在您的代碼中執行此操作,git可能不是直接管理您的MySQL版本的工具。您確信可以在您的代碼中編寫腳本以在每次更新後更新數據庫模式.Git無法爲您執行此操作。 – AvkashChauhan

4

您基本上想要將Azure用作持續集成(CI)平臺,我認爲Azure本身還不存在。

基於git的基本CI方案將涉及以下步驟。

  1. 您的src代碼和任何數據庫模式/數據更新都被推送到一個像GitHub這樣的中央git存儲庫。 [可用功能]
  2. GitHub會將更新推送到Azure。 [在Azure中不支持,直到他們支持GitHub掛鉤]
  3. Azure編譯並部署代碼。 [支持]
  4. Azure更新從回購庫中提取的sql文件中的數據庫(請記住,這需要自動執行)。 [不支持]
  5. Azure報告運行數據庫或Web應用程序時出現任何錯誤。 [支持]
  6. Azure運行用戶提供的集成測試,以更全面地檢查特定功能並向用戶報告這些測試的狀態[不支持]。
  7. Azure允許您回滾到以前的部署快照[部分支持。快照不是基於git提交的實例]。

我可能在某些點上有錯誤,或者自從寫了這些以後可能會添加新功能。更正非常受歡迎,我會嘗試相應地更新列表。

+4

現在應該支持#2和#7。我不確定是否支持#4(通過git deploy遷移架構) –

+3

#4現在也受支持。我創建了一個使用databaseInitilizer的概念證明,如博客文章[EF代碼首先遷移到Azure雲服務]中所述(http://blogs.msdn.com/b/webdev/archive/2014/04/09/) EF-代碼優先的遷移部署到一個-天青-雲service.aspx) – Towa

相關問題