2012-06-23 50 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

相关问题