You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					25 lines
				
				616 B
			
		
		
			
		
	
	
					25 lines
				
				616 B
			| 
											1 year ago
										 | from config.database import async_engine, AsyncSessionLocal, Base | ||
| 
											2 years ago
										 | from utils.log_util import logger | ||
|  | 
 | ||
|  | 
 | ||
| 
											1 year ago
										 | async def get_db(): | ||
| 
											2 years ago
										 |     """
 | ||
|  |     每一个请求处理完毕后会关闭当前连接,不同的请求使用不同的连接 | ||
| 
											1 year ago
										 | 
 | ||
| 
											2 years ago
										 |     :return: | ||
|  |     """
 | ||
| 
											1 year ago
										 |     async with AsyncSessionLocal() as current_db: | ||
| 
											2 years ago
										 |         yield current_db | ||
|  | 
 | ||
|  | 
 | ||
|  | async def init_create_table(): | ||
|  |     """
 | ||
|  |     应用启动时初始化数据库连接 | ||
| 
											1 year ago
										 | 
 | ||
| 
											2 years ago
										 |     :return: | ||
|  |     """
 | ||
| 
											1 year ago
										 |     logger.info('初始化数据库连接...') | ||
| 
											1 year ago
										 |     async with async_engine.begin() as conn: | ||
|  |         await conn.run_sync(Base.metadata.create_all) | ||
| 
											1 year ago
										 |     logger.info('数据库连接成功') |