所以我有一个EF Core项目。当我需要添加/迁移时,发出并更新命令:
dotnet ef数据库更新-v
如果我需要更新QA,Staging,Prod数据库,那么一切都很好,我更新了appsettings.json文件中的连接字符串并运行命令。
如果我无法从本地计算机访问生产该怎么办?您如何将数据库更新到最新版本?
如果我记得使用实体框架(不是.net核心)。当我部署.net应用程序的新版本时,它将尝试自动更新数据库。 .NET核心中仍然存在此功能吗?
答案 0 :(得分:2)
是的,你可以跑步
dbContext.Database.Migrate();
在启动时,将数据库迁移与应用程序生命周期相结合通常不是一个好主意-最佳实践是使应用程序尽可能快且简单地启动,因为应用程序启动失败难以远程诊断。迁移会带来很多不受欢迎的复杂性。
替代方法是在部署中运行迁移操作。这取决于您使用哪种部署方法,但是例如说您使用CI服务器,您将能够运行
dotnet ef database update
之后复制新代码,但之前启动应用程序备份。