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('数据库连接成功')
							 |