29 lines
		
	
	
		
			851 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			29 lines
		
	
	
		
			851 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | import os | ||
|  | from urllib.parse import quote_plus | ||
|  | 
 | ||
|  | import pymysql | ||
|  | from dotenv import load_dotenv | ||
|  | from sqlalchemy import create_engine | ||
|  | 
 | ||
|  | 
 | ||
|  | class QuantCommon: | ||
|  |     def __init__(self): | ||
|  |         load_dotenv() | ||
|  |         self.user = os.getenv('DB_USER') | ||
|  |         self.pw = os.getenv('DB_PW') | ||
|  |         self.engine_for_pw = quote_plus(self.pw) | ||
|  |         self.host = os.getenv('DB_HOST') | ||
|  |         self.port = int(os.getenv('DB_PORT')) | ||
|  |         self.db = os.getenv('DB_DB') | ||
|  | 
 | ||
|  |     def create_engine(self): | ||
|  |         return create_engine(f'mysql+pymysql://{self.user}:{self.engine_for_pw}@{self.host}:{self.port}/{self.db}') | ||
|  | 
 | ||
|  |     def connect(self): | ||
|  |         return pymysql.connect(user=self.user, | ||
|  |                       passwd=self.pw, | ||
|  |                       host=self.host, | ||
|  |                       port=self.port, | ||
|  |                       db=self.db, | ||
|  |                       charset='utf8') |