2424else :
2525 print (f"⚠️ 환경변수 파일(.env)이 { os .getcwd ()} 에 없습니다!" )
2626
27+
2728def get_db_connector (db_type : Optional [str ] = None , config : Optional [DBConfig ] = None ):
2829 """
2930 Return the appropriate DB connector instance.
@@ -43,23 +44,25 @@ def get_db_connector(db_type: Optional[str] = None, config: Optional[DBConfig] =
4344 if db_type is None :
4445 db_type = os .getenv ("DB_TYPE" )
4546 if not db_type :
46- raise ValueError ("DB type must be provided or set in environment as DB_TYPE." )
47+ raise ValueError (
48+ "DB type must be provided or set in environment as DB_TYPE."
49+ )
4750
4851 db_type = db_type .lower ()
4952
5053 if config is None :
5154 config = load_config_from_env (db_type .upper ())
5255
5356 connector_map = {
54- "clickhouse" : ClickHouseConnector ,
55- "postgresql" : PostgresConnector ,
56- "mysql" : MySQLConnector ,
57- "mariadb" : MariaDBConnector ,
58- "oracle" : OracleConnector ,
59- "duckdb" : DuckDBConnector ,
60- "databricks" : DatabricksConnector ,
61- "snowflake" : SnowflakeConnector ,
62- }
57+ "clickhouse" : ClickHouseConnector ,
58+ "postgresql" : PostgresConnector ,
59+ "mysql" : MySQLConnector ,
60+ "mariadb" : MariaDBConnector ,
61+ "oracle" : OracleConnector ,
62+ "duckdb" : DuckDBConnector ,
63+ "databricks" : DatabricksConnector ,
64+ "snowflake" : SnowflakeConnector ,
65+ }
6366
6467 if db_type not in connector_map :
6568 logger .error (f"Unsupported DB type: { db_type } " )
@@ -87,7 +90,6 @@ def get_db_connector(db_type: Optional[str] = None, config: Optional[DBConfig] =
8790 return connector_map [db_type ](config )
8891
8992
90-
9193def load_config_from_env (prefix : str ) -> DBConfig :
9294 """
9395 Load DBConfig from environment variables with a given prefix.
@@ -107,7 +109,9 @@ def load_config_from_env(prefix: str) -> DBConfig:
107109 # Extract standard values
108110 config = {
109111 "host" : os .getenv (f"{ prefix } _HOST" ),
110- "port" : int (os .getenv (f"{ prefix } _PORT" )) if os .getenv (f"{ prefix } _PORT" ) else None ,
112+ "port" : (
113+ int (os .getenv (f"{ prefix } _PORT" )) if os .getenv (f"{ prefix } _PORT" ) else None
114+ ),
111115 "user" : os .getenv (f"{ prefix } _USER" ),
112116 "password" : os .getenv (f"{ prefix } _PASSWORD" ),
113117 "database" : os .getenv (f"{ prefix } _DATABASE" ),
@@ -117,11 +121,11 @@ def load_config_from_env(prefix: str) -> DBConfig:
117121 extra = {}
118122 for key , value in os .environ .items ():
119123 if key .startswith (f"{ prefix } _" ):
120- suffix = key [len (f"{ prefix } _" ):]
124+ suffix = key [len (f"{ prefix } _" ) :]
121125 if suffix .upper () not in base_keys :
122126 extra [suffix .lower ()] = value
123127
124128 if extra :
125129 config ["extra" ] = extra
126130
127- return DBConfig (** config )
131+ return DBConfig (** config )
0 commit comments