flask-migrate相当于是给alembic进行了flask式的封装一样,以前用alembic做数据库版本迁移时,要初始化:alembic init alembic,然后就是修改配置文件,然后生成版本:alembic revision --autogenerate -m "xxx",更新到最新版本:alembic upgrade head,这一套流程走下来很麻烦,现在将这些命令跟manage绑定到一起,直接用python manage.py db init/migrate/upgrade就能实现数据库的版本迁移了,很方便。
安装:pip install flask-migrate
小项目的基本结构:
正常情况下将数据库表对应的所有模型放在models.py里面,要用到db,得从app.py 导入,但是app.py也要导入models.py里面的模型,这样就形成了循环引用。现在将db放在第三方模块exts.py中,这样,models和app就都能够从exts中去导入db。
app.py:
manage.py:
modles.py:
上面这五个模块之间的关系一定要理清楚!
cmd命令:
原文:https://www.cnblogs.com/wangyi0419/p/12784196.html