Azure MobileServices Live/UAT/Dev环境

Azure MobileServices Live/UAT/Dev环境,mobile,azure,Mobile,Azure,我有一个azure移动服务将在某个时候上线。所以我需要创建UAT和dev版本,这些版本将指向UAT和dev数据库。我正在努力的是如何创造这些 live、UAT和Dev数据库中的名称空间必须相同,但是如果我创建一个名为myAppName_UAT的新移动服务,它将希望使用myAppName_UAT作为名称空间,因此将找不到任何表 有人克服了这个问题吗?一旦产品上线,我需要能够针对Dev db测试移动应用程序,而不会影响live,这肯定是一个常见的场景 我们将非常感激您的任何建议 编辑:我特别关注的是

我有一个azure移动服务将在某个时候上线。所以我需要创建UAT和dev版本,这些版本将指向UAT和dev数据库。我正在努力的是如何创造这些

live、UAT和Dev数据库中的名称空间必须相同,但是如果我创建一个名为myAppName_UAT的新移动服务,它将希望使用myAppName_UAT作为名称空间,因此将找不到任何表

有人克服了这个问题吗?一旦产品上线,我需要能够针对Dev db测试移动应用程序,而不会影响live,这肯定是一个常见的场景

我们将非常感激您的任何建议

编辑:我特别关注的是如何在Azure门户中管理多个环境。我可以部署我的UAT环境的所有其他组件,但我被困在移动服务上


我不是想让我的应用程序切换配置文件或在数据库之间迁移数据。是否有人有使用多个组件运行azure应用程序并运行多个移动服务的经验?

您是否使用版本控制?对我来说,您只需要创建分支来分隔“UAT”和“dev”版本

关于数据库:

您可以使用web.config转换在数据库之间切换连接字符串

更新:

好了,现在我明白你想要什么了

创建两个版本的移动服务:

1-Log in Windows Azure Management Portal (http://manage.windowsazure.com)
2-Create your test mobile services (if you already have then, skip this step):
  2.1- New -> Compute -> Mobile Services
  2.2- Url - MyMobileServicesTest
  2.3- Database -> Create a new (test db).

3-Create your production mobile services (if you already have then, skip this step):
  2.1- New -> Compute -> Mobile Services
  2.2- Url - MyMobileServicesProduction
  2.3- Database -> Create a new (production db).
现在,您有两个不同的版本

使用Windows Azure SDK:

//public static MobileServiceClient MobileService = new MobileServiceClient( 
//    "AppUrl", 
//    "AppKey" 
//);
注意:AppUrl将是“mymobileseservicestest.azure mobile.net/”或“mymobileseservicesproduction.azure mobile.net/”。应用程序键,每个环境都有它自己的。您可以将此设置存储在配置文件中,并根据正在执行的操作进行切换

更多信息:


您是否使用版本控制?对我来说,您只需要创建分支来分隔“UAT”和“dev”版本

关于数据库:

您可以使用web.config转换在数据库之间切换连接字符串

更新:

好了,现在我明白你想要什么了

创建两个版本的移动服务:

1-Log in Windows Azure Management Portal (http://manage.windowsazure.com)
2-Create your test mobile services (if you already have then, skip this step):
  2.1- New -> Compute -> Mobile Services
  2.2- Url - MyMobileServicesTest
  2.3- Database -> Create a new (test db).

3-Create your production mobile services (if you already have then, skip this step):
  2.1- New -> Compute -> Mobile Services
  2.2- Url - MyMobileServicesProduction
  2.3- Database -> Create a new (production db).
现在,您有两个不同的版本

使用Windows Azure SDK:

//public static MobileServiceClient MobileService = new MobileServiceClient( 
//    "AppUrl", 
//    "AppKey" 
//);
注意:AppUrl将是“mymobileseservicestest.azure mobile.net/”或“mymobileseservicesproduction.azure mobile.net/”。应用程序键,每个环境都有它自己的。您可以将此设置存储在配置文件中,并根据正在执行的操作进行切换

更多信息:


多个移动服务可以共享同一个数据库。您只需在每个移动服务的web.config中指定相同的架构名称:

<appSettings>    
  <add key="MS_MobileServiceName" value="MyAppName" />
</appSettings>

多个移动服务可以共享同一个数据库。您只需在每个移动服务的web.config中指定相同的架构名称:

<appSettings>    
  <add key="MS_MobileServiceName" value="MyAppName" />
</appSettings>

谢谢Thiago,在门户内部创建azure移动服务更是一个问题。因此,我有一个移动服务,它使用我的产品名称。我无法用相同的名称创建另一个名称,因此如果我将其命名为不同的名称,它将在数据库中使用不同的名称空间,这是我不想要的。请告诉我我是否理解正确。您需要开发版本和生产版本,对吗?您希望在开发环境中创建新功能,然后部署到生产环境中。这就是你想要的吗?没错,所以我需要三个azure移动服务。Prod、UAT和dev。但是这些都是在Azure门户中设置的,它们不能具有相同的名称。您为移动服务提供的名称决定了db模式的名称,因此我正试图找到一种方法,在我的每个数据库中使用相同的模式名称,并使用相应的azure移动服务。您好,Thiago,这就是我想要的,但这是否意味着移动服务将在MyMobileServicesTest.MyTable和MyMobileServicesProduction.MyTable中查找数据?我需要保持数据库模式完全相同,以便应用程序的其他部分可以共享数据。您想要的是一种同步数据库的方法。您可以在dev中创建一个新特性,将其部署到UAT,如果可以,则部署到生产环境。有几种方法可以做到这一点。看看SSDT。谢谢Thiago,在门户内部创建azure移动服务更是一个问题。因此,我有一个移动服务,它使用我的产品名称。我无法用相同的名称创建另一个名称,因此如果我将其命名为不同的名称,它将在数据库中使用不同的名称空间,这是我不想要的。请告诉我我是否理解正确。您需要开发版本和生产版本,对吗?您希望在开发环境中创建新功能,然后部署到生产环境中。这就是你想要的吗?没错,所以我需要三个azure移动服务。Prod、UAT和dev。但是这些都是在Azure门户中设置的,它们不能具有相同的名称。您为移动服务提供的名称决定了db模式的名称,因此我正试图找到一种方法,在我的每个数据库中使用相同的模式名称,并使用相应的azure移动服务。您好,Thiago,这就是我想要的,但这是否意味着移动服务将在MyMobileServicesTest.MyTable和MyMobileServicesProduction.MyTable中查找数据?我需要保持数据库模式完全相同,以便应用程序的其他部分可以共享数据。您想要的是一种同步数据库的方法。您可以在dev中创建一个新特性,将其部署到UAT,如果可以,则部署到生产环境。有几种方法可以做到这一点。看看SSDT。