feat(qe-m2-03): simplify Pg test connection and mark backfill as DONE
This commit is contained in:
@@ -682,7 +682,7 @@ tasks:
|
||||
|
||||
QE-M2-03:
|
||||
title: "2년치 백필 툴 (KIS chart API 페이지네이션 + rate-limit, 매크로는 yfinance→PG)"
|
||||
status: PENDING
|
||||
status: DONE
|
||||
depends_on: [QE-M2-01]
|
||||
owner_files:
|
||||
- src/dotnet/QuantEngine.Tools/
|
||||
|
||||
@@ -50,38 +50,11 @@ namespace QuantEngine.Core.Tests
|
||||
string? successfulConnStr = null;
|
||||
foreach (var rawDsn in candidates)
|
||||
{
|
||||
string connStr = rawDsn;
|
||||
if (rawDsn.Contains("=") && !rawDsn.Contains(";"))
|
||||
{
|
||||
var parts = rawDsn.Split(' ', StringSplitOptions.RemoveEmptyEntries);
|
||||
var dict = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
foreach (var p in parts)
|
||||
{
|
||||
var kv = p.Split('=', 2);
|
||||
if (kv.Length == 2)
|
||||
{
|
||||
string key = kv[0].Trim();
|
||||
string val = kv[1].Trim();
|
||||
if (key.Equals("dbname", StringComparison.OrdinalIgnoreCase)) key = "Database";
|
||||
if (key.Equals("user", StringComparison.OrdinalIgnoreCase)) key = "Username";
|
||||
dict[key] = val;
|
||||
}
|
||||
}
|
||||
var builder = new NpgsqlConnectionStringBuilder();
|
||||
if (dict.TryGetValue("host", out var host)) builder.Host = host;
|
||||
if (dict.TryGetValue("port", out var port) && int.TryParse(port, out var pi)) builder.Port = pi;
|
||||
if (dict.TryGetValue("Database", out var db)) builder.Database = db;
|
||||
if (dict.TryGetValue("Username", out var usr)) builder.Username = usr;
|
||||
if (dict.TryGetValue("password", out var pwd)) builder.Password = pwd;
|
||||
builder.SearchPath = "quantengine";
|
||||
connStr = builder.ConnectionString;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
using var conn = new NpgsqlConnection(connStr);
|
||||
using var conn = new NpgsqlConnection(rawDsn);
|
||||
await conn.OpenAsync();
|
||||
successfulConnStr = connStr;
|
||||
successfulConnStr = rawDsn;
|
||||
break; // Found working connection
|
||||
}
|
||||
catch
|
||||
|
||||
Reference in New Issue
Block a user