from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base DATABASE_URL = "postgresql://fastapi:Sj89061189@localhost/fastapi" engine = create_engine(DATABASE_URL) #不会提交事务 不会自动刷新 不会预加载 SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) #ORM 模型都将继承自 Base Base = declarative_base() def get_db(): #创建一个数据库会话 db = SessionLocal() #发送异常正确关闭 try: yield db finally: db.close()