【问题标题】:Code First Migrations, Database Projects, and SQL AzureCode First 迁移、数据库项目和 SQL Azure
【发布时间】:2016-06-21 13:25:03
【问题描述】:

我们正在开发一个计划在 Azure 上托管的新网站。我们以前没有人这样做过,所以它提出了一些有趣的挑战。

首先,我们首先使用代码并使用迁移来更新数据库。我们在弄清楚如何将数据库部署到 Azure 时遇到了一些问题,因此我们最终创建了一个数据库项目。

在部署方面存在大量 Azure 特定问题,如果不纠正 Azure 不允许使用的所有有效 SQL,就会出现错误。 在我看来,您应该能够像我们在本地站点上一样首先在 azure 站点上编写代码,我发现 This article 似乎解决了这个问题。

我想知道的是最佳实践。

  1. 我假设我们不再需要数据库项目,但我不需要 确定。管理数据库的最佳实践是什么 使用 Visual Studio 2013 和代码优先。

  2. 上述文章中的方法似乎适用于 预生产,但一旦系统投入生产并投入使用 数据,这是推荐的方法吗? 你如何保护自己免受错误,比如有人不小心改变了 告诉 Visual Studio 重新创建数据库的设置?

任何想法或想法将不胜感激。

【问题讨论】:

    标签: ef-code-first visual-studio-2013 azure-sql-database


    【解决方案1】:

    首先我想根据我的理解声明,当使用实体框架并且您已启用迁移时,它仅用于开发,建议您在部署代码时将其设置为 false。

    至于部署到 Microsoft Azure,我只使用 Visual Studio Team Services 完成了这项工作。 Code-First 的问题是您没有 Sql Queries 并且数据库没有立即部署。所以这就是我过去所做的,

    1. 在 SQL Management Studio 中创建一个空白的 Sql 查询

    2. 在 Visual Studio Server Explorer 中展开数据库 项目到表级别

    3. 右键单击每个表并选择“显示表定义”我希望 我们可以在数据库级别做到这一点。

    4. 将 T-SQL 复制并粘贴到 SQL 管理中的空白 Sql 文件中 工作室。请注意,所有表查询都可以放在一个 文件,只需要遵循 T-SQL 规则。连接到您的 Azure 使用 SQL Management Studio 的数据库实例。

    5. 针对 Azure 上的数据库运行 SQL 查询。请注意, 您在开发中使用的示例数据不会在您的 Azure 上 此时数据库,您将必须创建一个插入 T-SQL 和 针对 Azure 数据库运行它。

    同时确保您的应用在部署到 Microsoft Azure 时具有正确的连接字符串,并且它应该可以很好地连接到您的数据库。

    【讨论】:

    • 虽然您不应该将迁移直接部署到生产环境,但说迁移仅用于开发是错误的。您仍然可以利用 EF 迁移,但使用 -Script 选项生成更改脚本,以便您可以在生产中运行更改之前检查更改,或者将脚本交给 DBA 进行检查。
    猜你喜欢
    • 1970-01-01
    • 2018-02-21
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    相关资源
    最近更新 更多