将 postgresql_info.py 移出 native/,合并到 core/config.py 或 infra/db/,便于后续项目环境变量读取发生变化

This commit is contained in:
2026-03-09 14:41:50 +08:00
parent 20ab08e206
commit ed1eb74cfb
12 changed files with 45 additions and 46 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ import psycopg
import app.algorithms.api_ex.kmeans_sensor as kmeans_sensor
import app.algorithms.api_ex.sensitivity as sensitivity
from app.native.wndb.postgresql_info import get_pgconn_string
from app.core.config import get_pgconn_string
from app.services.tjnetwork import dump_inp
+35
View File
@@ -1,4 +1,5 @@
from pathlib import Path
from typing import Optional
from urllib.parse import quote_plus
from pydantic_settings import BaseSettings, SettingsConfigDict
@@ -80,3 +81,37 @@ class Settings(BaseSettings):
settings = Settings()
def get_pgconn_string(
db_name: Optional[str] = None,
db_host: Optional[str] = None,
db_port: Optional[str] = None,
db_user: Optional[str] = None,
db_password: Optional[str] = None,
) -> str:
"""Return PostgreSQL connection string in psycopg conninfo format."""
resolved_db_name = db_name or settings.DB_NAME
resolved_db_host = db_host or settings.DB_HOST
resolved_db_port = db_port or settings.DB_PORT
resolved_db_user = db_user or settings.DB_USER
resolved_db_password = db_password or settings.DB_PASSWORD
return (
f"dbname={resolved_db_name} host={resolved_db_host} port={resolved_db_port} "
f"user={resolved_db_user} password={resolved_db_password}"
)
def get_pg_config() -> dict:
"""Return PostgreSQL configuration except password."""
return {
"name": settings.DB_NAME,
"host": settings.DB_HOST,
"port": settings.DB_PORT,
"user": settings.DB_USER,
}
def get_pg_password() -> str:
"""Return PostgreSQL password (use with care)."""
return settings.DB_PASSWORD
+1 -1
View File
@@ -29,7 +29,7 @@ import pytz
import app.infra.db.influxdb.info as influxdb_info
import app.services.project_info as project_info
import app.services.time_api as time_api
from app.native.wndb.postgresql_info import get_pgconn_string
from app.core.config import get_pgconn_string
# influxdb数据库连接信息
url = influxdb_info.url
+1 -1
View File
@@ -3,7 +3,7 @@ from contextlib import asynccontextmanager
from typing import AsyncGenerator, Dict, Optional
import psycopg_pool
from psycopg.rows import dict_row
import app.native.wndb.postgresql_info as postgresql_info
import app.core.config as postgresql_info
# Configure logging
logger = logging.getLogger(__name__)
+1 -1
View File
@@ -2,7 +2,7 @@ import time
from typing import List, Optional
from fastapi.logger import logger
import app.native.wndb.postgresql_info as postgresql_info
import app.core.config as postgresql_info
import psycopg
-36
View File
@@ -1,36 +0,0 @@
from dotenv import load_dotenv
import os
load_dotenv()
pg_name = os.getenv("DB_NAME")
pg_host = os.getenv("DB_HOST")
pg_port = os.getenv("DB_PORT")
pg_user = os.getenv("DB_USER")
pg_password = os.getenv("DB_PASSWORD")
def get_pgconn_string(
db_name=pg_name,
db_host=pg_host,
db_port=pg_port,
db_user=pg_user,
db_password=pg_password,
):
"""返回 PostgreSQL 连接字符串"""
return f"dbname={db_name} host={db_host} port={db_port} user={db_user} password={db_password}"
def get_pg_config():
"""返回 PostgreSQL 配置变量的字典"""
return {
"name": pg_name,
"host": pg_host,
"port": pg_port,
"user": pg_user,
}
def get_pg_password():
"""返回密码(谨慎使用)"""
return pg_password
+1 -1
View File
@@ -3,7 +3,7 @@ import psycopg as pg
from psycopg import sql
from psycopg.rows import dict_row
from .connection import g_conn_dict as conn
from .postgresql_info import get_pgconn_string, get_pg_config, get_pg_password
from app.core.config import get_pgconn_string, get_pg_config, get_pg_password
# no undo/redo
+1 -1
View File
@@ -3,7 +3,7 @@ import psycopg as pg
from psycopg import sql
from psycopg.rows import dict_row
from .connection import g_conn_dict as conn
from .postgresql_info import get_pgconn_string
from app.core.config import get_pgconn_string
# no undo/redo
+1 -1
View File
@@ -6,7 +6,7 @@ import psycopg
from psycopg import sql
import app.services.project_info as project_info
from app.native.wndb.postgresql_info import get_pgconn_string
from app.core.config import get_pgconn_string
from app.services.tjnetwork import read_inp
+1 -1
View File
@@ -7,7 +7,7 @@ import pandas as pd
import psycopg
from sqlalchemy import create_engine
from app.native.wndb.postgresql_info import get_pgconn_string
from app.core.config import get_pgconn_string
# 2025/03/23
+1 -1
View File
@@ -20,7 +20,7 @@ import logging
import app.services.globals as globals
import uuid
import app.services.project_info as project_info
from app.native.wndb.postgresql_info import get_pgconn_string
from app.core.config import get_pgconn_string
from app.infra.db.timescaledb.internal_queries import (
InternalQueries as TimescaleInternalQueries,
)
+1 -1
View File
@@ -22,7 +22,7 @@ import app.algorithms.api_ex.kmeans_sensor as kmeans_sensor
import app.algorithms.api_ex.flow_data_clean as flow_data_clean
import app.algorithms.api_ex.pressure_data_clean as pressure_data_clean
import app.algorithms.api_ex.sensitivity as sensitivity
from app.native.wndb.postgresql_info import get_pgconn_string
from app.core.config import get_pgconn_string
############################################################