我们正在开发一个我们计划在Azure上托管的新网站。我们之前没有人这样做过,所以它提出了一些有趣的挑战。
首先,我们首先使用代码并使用迁移来更新数据库。我们在确定如何将数据库部署到Azure时遇到了一些问题,因此我们最终创建了一个数据库项目。
部署Azure存在许多特定问题,如果您没有纠正Azure不允许您使用的所有有效SQL,则会出现错误。 在我看来,你应该能够像在我们在本地网站上那样首先在azure网站上执行代码,并且我发现This article似乎解决了这个问题。
我想知道的是最佳做法。
我认为我们不再需要数据库项目,但我不是 肯定的。管理数据库的最佳实践是什么? 使用Visual Studio 2013和代码优先。
上面的文章中的方法对于系统来说似乎很好 预生产,但一旦系统投入生产并具有生效 数据,这是一种推荐的方法吗? 你如何保护自己免受错误的影响,比如有人意外地改变了 告诉Visual Studio重新创建数据库的设置?
任何想法或想法都会受到赞赏。
答案 0 :(得分:0)
首先,我想从我的理解中说明,在使用Entity Framework并且启用了迁移时,它只适用于开发,建议您在部署代码时将其设置为false。
至于部署到Microsoft Azure,我只使用Visual Studio Team Services完成了这项工作。关于Code-First的事情是你没有Sql查询,并且没有立即部署数据库。所以这就是我过去所做的,
在SQL Management Studio中创建空白Sql查询
在Visual Studio Server Explorer中展开数据库 项目到表级
右键单击每个表并选择"显示表定义"我希望 我们可以在数据库级别执行此操作。
将SQL-C中的空白Sql文件复制并传递给T-SQL 工作室。请注意,所有表查询都可以放在一个中 文件,只需要遵循T-SQL规则。连接到Azure 使用SQL Management Studio的数据库实例。
在Azure上针对数据库运行SQL查询。请注意 您在developpemnt中使用的示例数据将不在您的Azure上 数据库此时,你将不得不创建一个插入T-SQL和 针对Azure数据库运行它。
在部署到Microsoft Azure时,还要确保您的应用程序具有正确的连接字符串,它应该可以很好地连接到您的数据库。