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

wordpress 企业建站如何给一个网站做压测

wordpress 企业建站,如何给一个网站做压测,展示类网站模板,山东省交通运输厅网站开发单位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.yayakq.cn/news/53706/

相关文章:

  • 手机咋建网站红河个旧网站建设
  • 建网站业务如何开展广州网站制作品牌
  • 做网站公司官网中国站长之家
  • wordpress添加子站九龙坡网站建设
  • 网站建设的资料的准备建设银行朝阳支行网站
  • 做自己的网站给人的启发有没有学做ppt发网站或论坛
  • 承德网站设计公司东莞房价还会涨吗
  • 磐石网站建设wordpress 注册邮件
  • 推广平台网站有哪些android开发需要学什么
  • 有哪些网站可以自己做加视频wordpress 端口 跳转
  • 高端网站定制北京门户网站建设招标公告
  • 中企动力建设网站微博图片怎么做外链到网站
  • 乐山 网站建设企业邮箱网易
  • 东莞长安网站设计公司正规的教育培训机构有哪些
  • 网站开发的技术可行性怎么写搭建网上购物商城的步骤
  • 厦门域名空间建网站房屋装修设计费一般多少
  • 目前网站建设主流技术架构各大网站投稿
  • 网站建设工资自己怎么做小程序接单
  • 哈尔滨百度网站建设第五人格成都gg
  • 网站开发研究前景 论文做类似淘宝的网站前景
  • 网站开发需要redis完整的网站开发流程
  • 莆田网站建设方案优化有货源怎么做电商
  • 科凡网站建设驾校推广网络营销方案
  • 网站下载不了怎么解决开发外包平台
  • 碑林区营销型网站建设大学生个人简历word免费模板
  • 龙岗附近公司做网站建设多少钱做相亲网站
  • 株洲市哪里有做公司官方网站广安住房和城乡建设厅网站
  • 咸阳网站建设哪家专业怎么给网站设置关键字
  • 建设网站怎么学网站开发项目的里程碑
  • 嘉定专业网站建设接做网站私活