【问题标题】:handle Entity Framework migration when live and development Database is same实时和开发数据库相同时处理实体框架迁移
【发布时间】:2020-04-18 08:31:22
【问题描述】:

我正在使用实体框架 6 和代码优先方法。我将相同的数据库用于实时和开发目的,当我在模型中进行更改或在模型中添加新字段时,然后添加迁移并运行更新数据库,迁移添加和本地成功更新以及从 Visual Studio 运行应用程序时它的作品美好的。但另一方面,我已经发布的同一个应用程序崩溃了,当我打开实时 URL 时,我看到了这个错误

enter image description here

一个解决方案是重新发布该应用程序,但我想要一个不同的最佳解决方案。

我想知道使用实体框架的最佳实践,我可以使用 EF 添加或修改模型,同时实时应用程序可以正常工作,因为它在模型修改之前工作。我使用 SQL Server 作为数据库。

【问题讨论】:

    标签: c# asp.net-mvc entity-framework-6 entity-framework-migrations


    【解决方案1】:

    我将相同的数据库用于实时和开发目的,

    这太糟糕了,甚至都不好笑。这意味着你永远不能做出重大改变。这也意味着开发过程中的任何代码错误都可能破坏生产数据。这就像说“我有健康问题。我在吞毒,为什么不好”不好。

    标准做法(甚至不是最好的,它是标准的)是为每个环境拥有单独的数据库副本。许多团队甚至为所有或特定开发人员制作数据库副本 - 即使数据库有几十 TB 大。

    但是一个用于开发和生产的数据库副本永远不会起作用,而且它显然会破坏生产数据库。开始使用副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-08
      • 2019-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多