FastAPI + SQLModel + Alembic 项目安装与配置指南

FastAPI + SQLModel + Alembic 项目安装与配置指南

fastapi-sqlmodel-alembic Sample FastAPI project that uses async SQLAlchemy, SQLModel, Postgres, Alembic, and Docker. fastapi-sqlmodel-alembic 项目地址: https://gitcode.com/gh_mirrors/fa/fastapi-sqlmodel-alembic

1. 项目基础介绍

本项目是一个基于 FastAPI 的示例项目,它使用异步 SQLAlchemy (通过 SQLModel 进行 ORM 封装),结合 Postgres 数据库、Alembic 进行数据库版本控制和 Docker 容器化。FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,而 SQLModel 提供了 ORM 功能以及 Pydantic 风格的数据模型定义。Alembic 用于管理数据库迁移。本项目适用于希望学习如何结合这些技术构建异步 Web 服务的小白用户。

主要编程语言:Python

2. 关键技术和框架

  • FastAPI: 用于构建 API 的现代 Python Web 框架。
  • SQLModel: 用于定义数据模型和 ORM 操作的库。
  • SQLAlchemy: 强大的 SQL 工具包和对象关系映射(ORM)系统。
  • Postgres: 一个功能强大的开源对象关系数据库系统。
  • Alembic: 用于数据库版本控制和迁移的工具。
  • Docker: 用于容器化应用程序的平台。

3. 安装和配置准备工作

在开始之前,请确保您的系统已安装以下软件:

  • Python 3.7 或更高版本
  • Docker
  • Docker Compose

确保您的系统环境满足以上条件后,可以按照以下步骤进行安装和配置。

安装步骤

  1. 克隆项目到本地:

    git clone https://github.com/testdrivenio/fastapi-sqlmodel-alembic.git
    cd fastapi-sqlmodel-alembic
    
  2. 构建并启动 Docker 容器:

    docker-compose up -d --build
    

    这将启动 Postgres 数据库服务和 FastAPI 应用服务。

  3. 运行数据库迁移:

    docker-compose exec web alembic upgrade head
    

    这一步将应用数据库迁移脚本,创建数据库和表结构。

  4. 检查服务状态:

    打开浏览器,访问 http://localhost:8004/ping,如果看到返回结果,则表示服务运行正常。

  5. 添加测试数据(可选):

    使用 curl 命令添加测试数据到数据库:

    curl -d '{"name":"测试歌曲", "artist":"测试艺术家", "year":"2021"}' -H "Content-Type: application/json" -X POST http://localhost:8004/songs
    
  6. 获取所有歌曲数据:

    打开浏览器,访问 http://localhost:8004/songs,应该能够看到刚才添加的测试数据。

以上步骤就是本项目的基本安装和配置过程。在开发过程中,您可以随时根据需要调整配置和代码。

fastapi-sqlmodel-alembic Sample FastAPI project that uses async SQLAlchemy, SQLModel, Postgres, Alembic, and Docker. fastapi-sqlmodel-alembic 项目地址: https://gitcode.com/gh_mirrors/fa/fastapi-sqlmodel-alembic

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怀灏其Prudent

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值