当前位置: 首页 > news >正文

吉林有做网站的吗百度推广的价格表

吉林有做网站的吗,百度推广的价格表,电子商务平台建设预算,sem推广竞价FastAPISQLAlchemy数据库连接 目录 FastAPISQLAlchemy数据库连接配置数据库连接创建表模型创建alembic迁移文件安装初始化编辑env.py编辑alembic.ini迁移数据库 视图函数查询 配置数据库连接 # db.py from sqlalchemy import create_engine from sqlalchemy.orm import sessio…

FastAPI+SQLAlchemy数据库连接

目录

  • FastAPI+SQLAlchemy数据库连接
    • 配置数据库连接
    • 创建表模型
    • 创建alembic迁移文件
      • 安装+初始化
      • 编辑env.py
      • 编辑alembic.ini
      • 迁移数据库
    • 视图函数查询

配置数据库连接

# db.py
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmakerDATABASE_URL = "mysql+pymysql://root:7997@localhost/fastapidemo"engine = create_engine(DATABASE_URL,pool_size=10,            # 设置连接池大小max_overflow=20,         # 设置连接池最大溢出连接数量pool_timeout=30,         # 设置连接超时时间pool_recycle=1800,       # 设置连接的回收时间
)SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)

创建表模型

from sqlalchemy import Column, Integer, String, ForeignKey, Table
from sqlalchemy.orm import DeclarativeBase, relationshipclass Base(DeclarativeBase):__abstract__ = True  # 标记为抽象基类,防止直接创建表@classmethoddef get_all(cls, session):return session.query(cls).all()book_press = Table('book_press', Base.metadata,Column('book_id', Integer, ForeignKey('book.id'), primary_key=True),Column('press_id', Integer, ForeignKey('press.id'), primary_key=True))class Book(Base):__tablename__ = 'book'id = Column(Integer, primary_key=True, autoincrement=True)title = Column(String(15), nullable=False, unique=True)author_id = Column(Integer, ForeignKey('author.id'))author = relationship('Author', backref='books', cascade='all,delete')press = relationship('Press', backref='books', secondary=book_press)class Author(Base):__tablename__ = 'author'id = Column(Integer, primary_key=True, autoincrement=True)name = Column(String(15), nullable=False, unique=True)age = Column(Integer, nullable=False)class Press(Base):__tablename__ = 'press'id = Column(Integer, primary_key=True, autoincrement=True)name = Column(String(15), nullable=False, unique=True)if __name__ == '__main__':from db import engineBase.metadata.create_all(engine)

创建alembic迁移文件

安装+初始化

pip install alembic
alembic init alembic

编辑env.py

# env.py
from logging.config import fileConfig
from sqlalchemy import engine_from_config
from sqlalchemy import pool
from alembic import context# 导入你的 Base 和模型
from module import Base, Book, Author, Pressconfig = context.config# 默认None 替换成你的Base
target_metadata = Base.metadata
# 其他配置...

编辑alembic.ini

# alembic.ini
sqlalchemy.url = mysql+pymysql://root:7997@localhost/fastapidemo

迁移数据库

alembic revision --autogenerate
alembic upgrade head

视图函数查询

# main.py
from fastapi import FastAPI, Request, Depends
from pydantic import BaseModel
from sqlalchemy.orm import Sessionfrom db import SessionLocal
from orm import Authorapp = FastAPI()
session = SessionLocal()def get_db():db = SessionLocal()try:yield dbfinally:db.close()class Item(BaseModel):pass@app.get("/api/")
async def root(db: Session = Depends(get_db)):# 直接用session查询res = db.query(Author).all()# 调用模型类的方法查询res2 = Author.get_all(db)print(res[0].name)print(res2[0].name)return {f"作者名:{res[0].name},{res2[0].name}"}
http://www.hrbkazy.com/news/13307.html

相关文章:

  • 国外设计教程网站优化王
  • 有没有做婚车的网站深圳网站建设找哪家公司好
  • wordpress get userseo推广营销公司
  • asp做的网站郑州粒米seo外包
  • 怎么做转载小说网站免费网上销售平台
  • 电子信息工程网北京百度推广seo
  • 网站建设海淀原画培训班一般学费多少
  • 菏泽网的网站建设的联系方式seo与sem的区别
  • 无锡网站制作公司宁波正规优化seo软件
  • wordpress iot网站文章优化技巧
  • 国外优秀网站建设大型营销型网站制作
  • wordpress topnews廊坊seo网络推广
  • 做微商怎样加入网站卖东西赚钱万江专业网站快速排名
  • 大连金州网站建设深圳网络推广案例
  • 大连城市建设管理局网站百度提交网站
  • 武汉手机网站建设网络营销公司如何建立
  • 哪些网站使用wordpress正规的代运营公司
  • 做男装海报的素材网站网络推广的方式
  • 用nas做网站seo流量是什么
  • 页面设计一般用什么软件绍兴seo推广
  • 我想成立公司怎么办理seo成功案例分析
  • 营销型网站建设怎么做营销网站建设怎么网站排名seo
  • 欧莱雅网站建设与推广方案上海seo优化bwyseo
  • 菜谱网站开发淘宝搜索关键词技巧
  • 襄樊做网站设计培训学院
  • 企业营销网站模板免费下载网络推广营销方案免费
  • 做网站打印费复印费清单樱花12e56
  • 附近学电脑在哪里报名阿亮seo技术
  • app定制开发网络公司seo公司是什么意思
  • 加强网站建设的意义如何推广一个新的app