我把它总的分为4步走分别是:
安装、配置、创建(仓库、脚本)、更新
如下
Flask-Migrate实现数据库迁移
一、 安装 Flask-Migrate
pip install flask-migrate
安装时如果出现ReadTimeoutError
可以参考:选择国内镜像
二、 配置 Flask-Migrate
from flask_migrate import Migrate, MigrateCommand
migrate = Migrate(app, db)
manager.add_command('db', MigrateCommand)
三、 创建(仓库、脚本)
创建 分为创建迁移仓库跟创建迁移脚本如下:
1.创建迁移仓库
python manage.py db init
其中manage.py 为你的启动程序文件
返回类似以下内容和目录中出现 migrations(存放迁移脚本) 文件夹就算是成功啦!
Creating directory /home/flask/flasky/migrations...done
Creating directory /home/flask/flasky/migrations/versions...done
Generating /home/flask/flasky/migrations/alembic.ini...done
Generating /home/flask/flasky/migrations/env.py...done
Generating /home/flask/flasky/migrations/env.pyc...done
Generating /home/flask/flasky/migrations/README...done
Generating /home/flask/flasky/migrations/script.py.mako...done
Please edit configuration/connection/logging settings in
2. 创建迁移脚本
python manage.py db migrate -m "initial migration"
-m后引号里面的内容为备注 可以根据自己的要求更改
返回类似以下内容则成功
INFO [alembic.migration] Context impl SQLiteImpl.
INFO [alembic.migration] Will assume non-transactional DDL.
INFO [alembic.autogenerate] Detected added table 'roles'
INFO [alembic.autogenerate] Detected added table 'users'
INFO [alembic.autogenerate.compare] Detected added index
'ix_users_username' on '['username']'
Generating /home/flask/flasky/migrations/versions/1bc
594146bb5_initial_migration.py...done
五、更新数据库
python manage.py db upgrade
返回类似以下内容则成功
INFO [alembic.migration] Context impl SQLiteImpl.
INFO [alembic.migration] Will assume non-transactional DDL.
INFO [alembic.migration] Running upgrade None -> 1bc594146bb5, initial migration
结尾:作为一个萌新,自己的各方面能力都还不足,所以难免有出错,望大佬多加指正。如果这篇博客有帮到你或者觉得小7写得还可以的话,请给小7
点个赞吧!
每一个赞都是我努力前行的动力呀!谢谢啦!