将 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.kmeans_sensor as kmeans_sensor
|
||||||
import app.algorithms.api_ex.sensitivity as sensitivity
|
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
|
from app.services.tjnetwork import dump_inp
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
from typing import Optional
|
||||||
from urllib.parse import quote_plus
|
from urllib.parse import quote_plus
|
||||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||||
|
|
||||||
@@ -80,3 +81,37 @@ class Settings(BaseSettings):
|
|||||||
|
|
||||||
|
|
||||||
settings = Settings()
|
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.infra.db.influxdb.info as influxdb_info
|
||||||
import app.services.project_info as project_info
|
import app.services.project_info as project_info
|
||||||
import app.services.time_api as time_api
|
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数据库连接信息
|
# influxdb数据库连接信息
|
||||||
url = influxdb_info.url
|
url = influxdb_info.url
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from contextlib import asynccontextmanager
|
|||||||
from typing import AsyncGenerator, Dict, Optional
|
from typing import AsyncGenerator, Dict, Optional
|
||||||
import psycopg_pool
|
import psycopg_pool
|
||||||
from psycopg.rows import dict_row
|
from psycopg.rows import dict_row
|
||||||
import app.native.wndb.postgresql_info as postgresql_info
|
import app.core.config as postgresql_info
|
||||||
|
|
||||||
# Configure logging
|
# Configure logging
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import time
|
|||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
|
|
||||||
from fastapi.logger import logger
|
from fastapi.logger import logger
|
||||||
import app.native.wndb.postgresql_info as postgresql_info
|
import app.core.config as postgresql_info
|
||||||
import psycopg
|
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 import sql
|
||||||
from psycopg.rows import dict_row
|
from psycopg.rows import dict_row
|
||||||
from .connection import g_conn_dict as conn
|
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
|
# no undo/redo
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import psycopg as pg
|
|||||||
from psycopg import sql
|
from psycopg import sql
|
||||||
from psycopg.rows import dict_row
|
from psycopg.rows import dict_row
|
||||||
from .connection import g_conn_dict as conn
|
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
|
# no undo/redo
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import psycopg
|
|||||||
from psycopg import sql
|
from psycopg import sql
|
||||||
|
|
||||||
import app.services.project_info as project_info
|
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
|
from app.services.tjnetwork import read_inp
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import pandas as pd
|
|||||||
import psycopg
|
import psycopg
|
||||||
from sqlalchemy import create_engine
|
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
|
# 2025/03/23
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import logging
|
|||||||
import app.services.globals as globals
|
import app.services.globals as globals
|
||||||
import uuid
|
import uuid
|
||||||
import app.services.project_info as project_info
|
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 (
|
from app.infra.db.timescaledb.internal_queries import (
|
||||||
InternalQueries as TimescaleInternalQueries,
|
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.flow_data_clean as flow_data_clean
|
||||||
import app.algorithms.api_ex.pressure_data_clean as pressure_data_clean
|
import app.algorithms.api_ex.pressure_data_clean as pressure_data_clean
|
||||||
import app.algorithms.api_ex.sensitivity as sensitivity
|
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