如何使用dotnet ef database cli命令更新prod数据库?

时间:2020-05-28 19:06:42

标签: .net-core entity-framework-core .net-core-3.1 dotnet-cli dotnetcorecli

我如何获得EF来为生产数据库建立所有表?

到目前为止,我一直在构建并将所有.Net Core数据库迁移并推送到dev db

例如。

> dotnet ef迁移添加了InitialModsN -c Auto2Context

> dotnet ef数据库更新-c Auto2Context

在我的Appsettings.Development.json文件中,我的con字符串指向dev db'source = DEV'

"ConnectionStrings": {
"DefaultConnection": "Data Source=Auto2.db",
"Auto2": "data source=DEV; initial catalog=Auto2; user id=auto2; password=12345;" }

我的Appsettings.json中,我的prod db con字符串指向prod db'source = LIVE'

"ConnectionStrings": {
"DefaultConnection": "Data Source=Auto2.db",
"Auto2": "data source=LIVE; initial catalog=Auto2; user id=auto2; password=12345;" }

到目前为止,所有内容都已构建并迁移到开发人员,如何更改它以构建产品数据库中最新的所有更改?

我是否必须重新创建初始迁移文件然后进行更新? 如果是,我如何将其指向产品数据库? 我尝试了几次不同的命令,但都没有碰到运气。 这是我尝试过的。

> dotnet ef数据库更新-c Auto2Context --connection“数据源= LIVE;初始目录= Auto2;用户ID = auto2;密码= 12345”

-收到“无法识别的选项-连接”

> dotnet ef数据库更新-c Auto2Context-配置发布

  • 在产品数据库中未创建表

2 个答案:

答案 0 :(得分:0)

在执行命令之前设置ASPNETCORE_ENVIRONMENT环境变量:

$env:ASPNETCORE_ENVIRONMENT='Production'

答案 1 :(得分:0)

这是我用过的,似乎可以用。

dotnet发布-配置发布/ p:EnvironmentName =生产

但这只会生成应用程序。 我必须在下面运行此命令来创建一个SQL脚本来更新产品数据库。

dotnet ef迁移脚本-i -o“ buildscript.sql” -c Auto2Context

这是将数据库更改推送到产品的最佳/正确方法吗?

相关问题