我有两种配置: -发展 -生产
具有以下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"
},
(开发中)
"Sql" : {
"Name": "App_Dev",
"Server": "127.0.0.1",
"Port": 0,
"Database": "db_dev",
"Username": "user_dev",
"Password": "secret"
},
我将它们注入到我的DbContext构造函数中,并且可以正常工作。 我使用以下命令使用迁移系统更新了数据库:
dotnet ef数据库更新--context MyDbContext--配置开发
它有效,并且我的数据库方案已更新。
但是当我尝试使用以下命令更新生产数据库时:
dotnet ef数据库更新--context MyDbContext--配置生产
它为我提供了不需要进行任何迁移的信息。
我在MyDbContext中转储了连接字符串,即使我键入它应使用生产设置文件,我也可以看到DbContext仍使用开发配置。
为什么迁移机制不遵守我的配置? 如何使用appsettings.Production运行dotnet ef?
答案 0 :(得分:0)
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = arrVideoCell[indexPath.row]
return cell
}
用于构建配置(例如--configuration
,Release
)
v2.0之前的版本:
使用Debug
或-e
:
PM> dotnet ef数据库更新--context MyDbContext -e生产
v2.0 +:
在执行命令之前设置ASPNETCORE_ENVIRONMENT环境变量:
PM> $ env:ASPNETCORE_ENVIRONMENT ='生产'
答案 1 :(得分:0)
在我的情况下(Linux环境),使用:
export ASPNETCORE_ENVVIRONMENT =开发
更改数据库更新命令使用的环境