gpt4 book ai didi

asp.net-core - Net Core 2 - Entity Framework : Update-Database of different environment

转载 作者:行者123 更新时间:2023-12-01 09:14:12 26 4
gpt4 key购买 nike

事实:

  • net core 2.0项目
  • Entity Framework (代码优先)
  • 不同环境的不同 appsettings.json 文件

    我利用包管理器控制台生成我的数据库脚本(添加-迁移、更新-数据库)

  • 如果我运行 PM>"Get-DbContext"它会带回从我的 appsettings.Development.json 文件中提取的信息

    但是我如何告诉它从 appsettings.Staging.json 中提取 db 变量而不是 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

    关于asp.net-core - Net Core 2 - Entity Framework : Update-Database of different environment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48913968/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com