当前位置:   article > 正文

原生 SQLAlchemy 的使用(彻底解决Lost connection to MySQL server)_asyncpg sqlalchemy

asyncpg sqlalchemy

 

 

2a122d3a246ead5af86d6bd0d93bd7ae.png

 

提到 SQLAlchemy 和 Flask-SQLAlchemy,相信大家都不会感到陌生。Flask-SQLAlchemy 封装后使用起来非常方便。然而,当我们脱离 Flask 使用原生 SQLAlchemy 时,经常会遇到数据库连接丢失(Lost connection to MySQL server)的问题。此类错误即使通过调整数据库的等待时长也无法有效解决,每次都需要重启服务才能重新连接成功。那么如何正确地使用原生 SQLAlchemy 并避免数据库连接丢失的问题呢?本文将详细介绍这一过程。

安装与配置

首先,确保你已经安装了 SQLAlchemy 和 SQLAlchemy 的异步扩展模块:

pip install sqlalchemy sqlalchemy[asyncio] asyncpg

然后,在你的项目中进行如下配置:

  1. import asyncio
  2. from contextlib import contextmanager, asynccontextmanager
  3. import glob
  4. import importlib
  5. import os
  6. import re
  7. from typing import Generator, AsyncGenerator
  8. from loguru import logger
  9. from sqlalchemy import create_engine
  10. from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession, async_scoped_session, async_sessionmaker
  11. from sqlalchemy.orm import sessionmaker, scoped_session
  12. from config import settings
  13. # 创建同步数据库引擎
  14. engine = create_engine(
  15. settings.SQLALCHEMY_DATABASE_URI,
  16. echo=settings.SQLALCHEMY_ECHO,
  17. pool_recycle=settings.SQLALCHEMY_
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/734667
推荐阅读
相关标签
  

闽ICP备14008679号