首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在生产服务器上部署迁移的最佳实践?(DOTNET Core / 5)

在生产服务器上部署迁移的最佳实践?(DOTNET Core / 5)
EN

Stack Overflow用户
提问于 2021-08-12 04:50:51
回答 1查看 142关注 0票数 1

我的应用程序使用.NET 5 (Core)。我想知道允许服务器在生产中执行迁移脚本的最佳实践是什么?我应该创建迁移脚本--幂等函数,并在服务器上运行dotnet数据库更新吗?或者我应该给客户端移植脚本,并在那里进行更新?我应该把自动迁移脚本放在编译的应用程序上吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-09 10:07:55

这里是有关生产中迁移的Microsoft文档。

https://learn.microsoft.com/en-us/ef/core/managing-schemas/migrations/applying?tabs=dotnet-core-cli#apply-migrations-at-runtime

您可以在Db上下文类的构造函数中调用Database.Migrate();,或者在依赖反转过程中创建Db上下文类的作用域并调用:

代码语言:javascript
复制
var db = scope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
db.Database.Migrate();

但是,要注意这一警告:

在生产中使用这种方法之前,

  • 会仔细考虑。经验表明,这个部署策略的简单性超过了它从迁移中生成creates.
  • Consider脚本的问题。在迁移()之前不要调用EnsureCreated()。EnsureCreated()绕过迁移来创建模式,这将导致迁移()失败.
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68751766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档