如何更新数据库以进行生产?我已经将连接字符串的秘密移出了应用程序。我们的CI / CD管道处理保留在应用程序设置中的连接字符串“模板”中的令牌替换,并且开发人员将无权访问生产数据库。
我曾期望使用自动迁移,直到今天才发现Microsoft取消了EF Core的迁移。
我是否每次必须临时覆盖通常指定我的数据库本地dev副本的连接字符串?好像是这样,但是对我来说似乎也很麻烦,所以我想知道我是否缺少某些东西。
答案 0 :(得分:1)
自动迁移的含义似乎有些混乱。
迁移由两部分组成:
迁移生成可能有两种类型:
Add-Migration
命令)生成的。自动生成的代码可以修改。是否修改,迁移与应用程序代码一起存储。无论如何生成迁移,都可以在设计时使用工具(Update-Database
命令)(和/或)在运行时应用它们 。
EF6支持和EF Core删除的是自动生成。 EF Core迁移无法在运行时生成-它们必须在设计时生成并与应用程序代码一起存储。
在运行时应用它们是通过从某个应用程序启动点调用的Migrate
方法实现的:
dbContext.Database.Migrate();
有关更多信息,请参阅Migrations和Apply migrations at runtime EF Core文档主题。