Net Core 2 - Entity Framework: Update-Database of different environment
Net Core 2 - Entity Framework: Update-Database of different environment
事实:
- net core 2.0项目
- entity framework(代码优先)
不同的 appsettings.json 文件用于不同的环境
我利用程序包管理器控制台生成我的数据库脚本(添加迁移、更新数据库)
如果我 运行 PM>"Get-DbContext" 它会带回从我的 appsettings.Development.json 文件中提取的信息,太棒了,这就是我大部分时间想要的!
但是我如何告诉它从 appsettings.Staging.json 中提取数据库变量而不是为 PM 命令开发?
我尝试创建新的 launchSettings.json 配置文件并设置 "ASPNETCORE_ENVIRONMENT":"Staging" 但除了 PM 之外,其他一切似乎都符合要求。
PS 解决它以使用 Script-Migration 生成脚本,但我想要快速的 UP 和 DOWN 我不会用它来部署到 prod
没有很好的记录,但您可能必须通过 运行在程序包管理器控制台
中执行此命令手动更改 ASPNETCORE_ENVIRONMENT
PM> $env:ASPNETCORE_ENVIRONMENT='Staging'
然后你可以运行这个命令来验证它是否指向你想要的数据库:
PM> Get-DbContext
哪个会踢出
providerName databaseName dataSource options
------------ ------------ ---------- -------
Microsoft.EntityFrameworkCore.SqlServer myDatabase tcp:fake.database.windows.net,1433 None
然后 运行 您的命令照常进行。示例:
Update-Database
参考命令:https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell
事实:
- net core 2.0项目
- entity framework(代码优先)
不同的 appsettings.json 文件用于不同的环境
我利用程序包管理器控制台生成我的数据库脚本(添加迁移、更新数据库)
如果我 运行 PM>"Get-DbContext" 它会带回从我的 appsettings.Development.json 文件中提取的信息,太棒了,这就是我大部分时间想要的!
但是我如何告诉它从 appsettings.Staging.json 中提取数据库变量而不是为 PM 命令开发?
我尝试创建新的 launchSettings.json 配置文件并设置 "ASPNETCORE_ENVIRONMENT":"Staging" 但除了 PM 之外,其他一切似乎都符合要求。
PS 解决它以使用 Script-Migration 生成脚本,但我想要快速的 UP 和 DOWN 我不会用它来部署到 prod
没有很好的记录,但您可能必须通过 运行在程序包管理器控制台
中执行此命令手动更改 ASPNETCORE_ENVIRONMENTPM> $env:ASPNETCORE_ENVIRONMENT='Staging'
然后你可以运行这个命令来验证它是否指向你想要的数据库:
PM> Get-DbContext
哪个会踢出
providerName databaseName dataSource options
------------ ------------ ---------- -------
Microsoft.EntityFrameworkCore.SqlServer myDatabase tcp:fake.database.windows.net,1433 None
然后 运行 您的命令照常进行。示例:
Update-Database
参考命令:https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell