将 postgresql_info.py 移出 native/,合并到 core/config.py 或 infra/db/,便于后续项目环境变量读取发生变化
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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__)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
############################################################
|
||||
|
||||
Reference in New Issue
Block a user