我正在尝试为Azure Devops Entity Framework数据库迁移任务设置数据库连接字符串。
我的想法不是在git上发布具有数据库连接的配置,而是使用环境变量覆盖具有生产设置(数据库连接字符串)的应用配置。
开始迁移时,应用程序不会读取set环境变量,而是默认使用dev连接字符串。
例如,连接字符串条目为:$args = array(
'post_type' => 'product',
'posts_per_page' => -1,
'meta_key' => 'logo_color',
'meta_value' => 'white'
);
$query = new WP_Query( $args );
我将其设置为:Select
SETL.SettlementDay as SD,
SETL.Amount as Amount,
SETL.quantity as Q
From
Setlement as SETL
Where
SETL.SettlementDate < getdate()
我不工作。 当我在Visual Studio调试属性中设置连接字符串时,它可以正常工作。 正如MS文档所建议的那样,我已经在应用程序启动中包含了环境变量。
VS调试器设置变量和控制台设置变量之间有什么区别?
感谢您的帮助。
更新:
Visual Studio将环境变量添加到ConnectionStrings.Database
答案 0 :(得分:0)
伙计,这是一例脑部打ic ... 我没有将环境变量提供程序推送到分支,因此Azure Devops任务没有读取它们:
WebHost.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((hostingContext, config) =>
{
config.AddEnvironmentVariables(prefix: "ASPNETCORE_");
})
.UseStartup<Startup>()
.UseWebRoot("wwwroot");
这有点尴尬:-(
但这可能会对将来的人有所帮助。
感谢8ytan发表评论。