C# 使用appsettings.json中定义的不同连接字符串进行CodeFirst迁移
在我的asp.NETCore(2.2)项目中,我有C# 使用appsettings.json中定义的不同连接字符串进行CodeFirst迁移,c#,entity-framework,asp.net-core,C#,Entity Framework,Asp.net Core,在我的asp.NETCore(2.2)项目中,我有 appsettings.production.json appsettings.staging.json appsettings.development.json 对于不同的服务器,每个服务器都有自己的连接字符串。我对模型进行更改,然后运行addmigration然后updatedatabase——但这只会更新开发服务器上的模式 如何使用environmentappsettings.json文件中定义的连接来定位/更新临时服务器和生产服务器 我
appsettings.production.json
appsettings.staging.json
appsettings.development.json
对于不同的服务器,每个服务器都有自己的连接字符串。我对模型进行更改,然后运行addmigration
然后updatedatabase
——但这只会更新开发服务器上的模式
如何使用environmentappsettings.json
文件中定义的连接来定位/更新临时服务器和生产服务器
我尝试过使用不同的环境构建它,当在不同的环境中运行时,我知道连接字符串被正确地使用了——但是我如何让EF指向特定的数据库呢 您可以像本博客一样使用此命令设置specfic环境 然后您只需要运行dotnet ef migration cli命令 更新确保您已经在startup.cs中这样设置了环境配置
builder
.SetBasePath(hostingEnvironment.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{hostingEnvironment.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
您可以查看我的完整配置您可以像此博客一样使用此命令设置specfic环境 然后您只需要运行dotnet ef migration cli命令 更新确保您已经在startup.cs中这样设置了环境配置
builder
.SetBasePath(hostingEnvironment.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{hostingEnvironment.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
您可以查看我的完整配置我一直在尝试,实际上我已经在查看该页面了-我正在尝试运行更新数据库等,但它似乎不起作用。我正在生成脚本并在服务器上运行它们,以便完整地获取所有以前的迁移历史。你是说它不能设置环境变量?环境变量设置很好,但是,当尝试运行其他命令时,它似乎仍在引用DEV连接设置:/尝试添加此设置,但仍然未应用迁移。数据库已经是最新的。-它始终以开发服务器为目标。我放弃了codefirst迁移,我没有很好的体验。我已经看到太多的基本数据库设计错误来自同事,也来自糟糕的模型设计。好吧,我很困惑,除了
迁移
表之外,它似乎已经放在了表中…我一直在尝试这个,我实际上已经在看那个页面了——我正在尝试运行更新数据库等,但它似乎不起作用。我正在生成脚本并在服务器上运行它们,以便完整地获取所有以前的迁移历史。你是说它不能设置环境变量?环境变量设置很好,但是,当尝试运行其他命令时,它似乎仍在引用DEV连接设置:/尝试添加此设置,但仍然未应用迁移。数据库已经是最新的。-它始终以开发服务器为目标。我放弃了codefirst迁移,我没有很好的体验。我已经看到太多的基本数据库设计错误来自同事,仅仅是因为糟糕的模型设计。好吧,我很困惑,除了迁移
表之外,它似乎已经放在了表中。。。