FastAPI SqlAlchemy MySql表迁移
本系列博客是配合Vue开发一套后台管理系统,对应的Vue教程见个人博客
https://www.charmcode.cn/
FastAPI项目官网是直接使用的SqlAlchemy ORM,不像Flask,一般使用Flask-SqlAlchemy扩展,习惯了flask扩展的,没使用 SqlAlchemy,
虽然大体上很像,但是有些地方还是不一样的。
SqlAlchemy官方本身就是使用alembic实现表迁移的,所以现在直接用这个。
alembic 初始化
先安装alembic
pip install alembic
然后生成初始化文件, 在项目外一层使用以下初始化命令
alembic init alembic
就会创建一个名为alembic的文件和一个alembic.ini文件
如下所示
alembic/
|____version/ // 一个空的文件夹,保存迁移中间文件
|____env.py // 迁移配置文件 (主要设置文件)
|____script.py.mako
|____READEME // 配置文件
alembic.ini // alembic 自动生成的迁移配置文件
app/ // 项目文件夹
配置alembic/env.py文件
如我这个项目,先倒入路径在导入,orm model
import os
import sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)