
技术分享1 分钟阅读
fastapi中用sqlalchemy连接数据库
fastapi sqlalchemy连接数据库
import yaml
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
db = yaml.safe_load(open("config.yaml", 'r', encoding="utf-8"))['db']['test']
# SQLALCHEMY_DATABASE_URL = "sqlite:///./sqlite.db"
SQLALCHEMY_DATABASE_URL = f"postgresql://{db['user']}:{db['password']}@{db['remote_address'][0]}:{db['remote_address'][1]}/cp-scheduling-test"
engine = create_engine(
SQLALCHEMY_DATABASE_URL
)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Base = declarative_base()由于官方的例子是用的sqlite
需要去掉engine = create_engine(SQLALCHEMY_DATABASE_URL,connect_args={"check_same_thread": False})中的第二个参数
engine = create_engine(
SQLALCHEMY_DATABASE_URL
)如果没有去掉会提示
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) invalid dsn: invalid connection option "check_same_thread”有关使用上的问题,欢迎您在底部评论区留言,一起交流~
读者评论
评论会同步写入该文在 Notion 中的页面底部(与正文同页,便于管理)。
暂无评论,欢迎抢沙发。