bie*_*000 6 c# entity-framework-core asp.net-core
我有两种配置: - 开发 - 生产
具有以下 json 设置文件: - appsettings.Production.json - appsettings.Development.json
在每个设置文件中,我都有以下部分:
(生产)
"Sql" : {
"Name": "App_Prod",
"Server": "127.0.0.1",
"Port": 0,
"Database": "db_prod",
"Username": "user_prod",
"Password": "secret"
},
Run Code Online (Sandbox Code Playgroud)
(发展)
"Sql" : {
"Name": "App_Dev",
"Server": "127.0.0.1",
"Port": 0,
"Database": "db_dev",
"Username": "user_dev",
"Password": "secret"
},
Run Code Online (Sandbox Code Playgroud)
我将它们注入到我的 DbContext 构造函数中,并且它工作正常。我使用以下命令使用迁移系统更新了我的数据库:
dotnet ef数据库更新--context MyDbContext--配置开发
它有效,并且我的数据库方案已更新。
但是当我尝试使用以下命令更新生产数据库时:
dotnet ef 数据库更新 --context MyDbContext--configuration Production
它向我提供了无需应用任何迁移的信息。
我将连接字符串转储到 MyDbContext 中,我可以看到 DbContext 仍然使用开发配置,即使我输入它应该使用生产设置文件。
为什么迁移机制不尊重我的配置?如何使用 appsettings.Production 运行 dotnet ef?
--configuration用于构建配置(例如Release, Debug)
v2.0 之前的版本:
使用-e或--environment:
PM> dotnet ef 数据库更新 --context MyDbContext -e Production
v2.0+:
在执行命令之前设置 ASPNETCORE_ENVIRONMENT 环境变量:
PM> $env:ASPNETCORE_ENVIRONMENT='生产'
| 归档时间: |
|
| 查看次数: |
4032 次 |
| 最近记录: |