使用FastAPT框架构架的一个web工程,集成了数据orm工具,支持异步,拿来开箱即用的工程demo
Python3.7 + FastAPI + MySQL + Redis + Tortoise-orm + aerich
# host 服务器地址
http://host:8001/docs#/
http://host:8001/redoc
# 初始化配置, 创建一个migrates文件夹和aerich.ini配置文件 aerich init -t app.mydbs.database.TORTOISE_ORM # 数据库生成表, 并创建migrations/models迁移文件 aerich init-db # 新增迁移文件 *_update.json aerich migrate # 执行迁移文件更新数据库 aerich upgrade # 回到上一个版本 aerich downgrade # 查看历史迁移记录 aerich history # 查看当前版本的迁移记录 aerich heads
. ├── aerich.ini ├── app # 代码主目录 │ ├── commons # 一些逻辑 │ │ ├── __init__.py │ │ └── tencent_cdn.py │ ├── __init__.py │ ├── logs # 日志配置目录 │ │ ├── __init__.py │ ├── middleware # 中间件配置目录 │ │ ├── __init__.py │ ├── models # 数据模型目录 │ │ ├── __init__.py │ │ ├── model.py │ ├── mydbs # 数据库相关目录 │ │ ├── database.py │ │ ├── __init__.py │ │ └── tencen_cdn.py │ ├── __pycache__ │ │ └── __init__.cpython-37.pyc │ ├── routers # 路由视图目录 │ │ ├── cdn_views.py │ │ ├── __init__.py │ ├── schemas # 参数校验模型 │ │ ├── __init__.py │ │ └── tencten_cdn.py │ └── utils # 工具目录 │ ├── common_util.py │ ├── constant.py │ ├── fake_data.py │ ├── __init__.py │ ├── phone_code.py │ ├── qiniu_sdk_python.py │ └── tencentcloud_sdk_python.py ├── config.py # 配置文件,包含生产,测试,开发三套配置 ├── create_table.sql # 建表sql ├── deploy.sh # docker镜像构建 ├── docker-compose.yaml # docker容器编排管理 ├── Dockerfile # 构建镜像配置文件 ├── ik_cnd_user_app_logs.log # app日志 ├── log.log # 日志 ├── main.py # 程序启动文件 ├── migrations # 数据库管理文件 │ └── models │ ├── 0_202056062220145621_init.json │ └── old_models.py ├── pip.conf # pip配置 ├── prestart.sh # docker启动时自动执行数据库迁移脚本 ├── README.md # 程序文档 ├── requirements.txt # 依赖环境 └── run.sh # 启动docker容器