数据库的迁移
说明:
项目开发中,总是避免不了的进行数据模型的更改,若已经有了数据库,此时数据模型与数据库中的表将不再一致;将数据模型的更改应用到对应数据库中的过程叫数据的迁移。前面的先删除后创建有点粗暴(副作用有点大,数据全部丢失),最好的方式是既做到数据库的更新,又不使数据丢失。若自己不会,可以借助第三方扩展库flask-migrate来完成。
安装:
pip install flask-migrate
配置
- 导入类库:
from flask_migrate import Migrate, MigrateCommand
- 创建对象,传递app,db作为参数:
migrate = Migrate(app, db)
- 将数据库迁移命令添加到终端:
manager.add_command('db', MigrateCommand)
使用:
-
初始化数据库迁移的厂库(会创建一个migrations的目录,及相关脚本),只需要一次
python manage.py db init
-
创建迁移脚本(根据数据模型与数据库的差异)
python manage.py db migrate
-
执行迁移脚本
python manage.py db upgrade
说明:
- 第一步只需要执行一次,以后第二步和和第三步反复使用。
- 不一定每次自动迁移都会成功,迁移后要做检查,出问题需要手动处理。