我如何获得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-配置发布
答案 0 :(得分:0)
在执行命令之前设置ASPNETCORE_ENVIRONMENT
环境变量:
$env:ASPNETCORE_ENVIRONMENT='Production'
答案 1 :(得分:0)
这是我用过的,似乎可以用。
dotnet发布-配置发布/ p:EnvironmentName =生产
但这只会生成应用程序。 我必须在下面运行此命令来创建一个SQL脚本来更新产品数据库。
dotnet ef迁移脚本-i -o“ buildscript.sql” -c Auto2Context
这是将数据库更改推送到产品的最佳/正确方法吗?