数据库迁移
在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库。最直接的方式就是删除旧表,但这样会丢失数据。
更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库中。
在Flask中可以使用Flask-Migrate扩展,来实现数据迁移。并且集成到Flask-Script中,所有操作通过命令就能完成。
为了导出数据库迁移命令,Flask-Migrate提供了一个MigrateCommand类,可以附加到flask-script的manager对象上。
首先要在虚拟环境中安装Flask-Migrate
pip install flask-migrate
创建迁移仓库
这个命令会创建migrations文件夹,所有迁移文件都放在里面
python database.py db init
创建迁移脚本
自动创建的迁移脚本会根据模型定义和数据库当前状态的差异,生成upgrade()和downgrade()函数的内容。
python database.py db migrate -m 'initial migration'
更新数据库
python app.py db history
回滚到指定版本
python app.py db downgrade 版本号
开发中修改数据库模型后更新数据库,直接删旧表会丢失数据,更好的办法是用数据库迁移框架。在Flask里可使用Flask - Migrate扩展实现数据迁移,集成到Flask - Script中通过命令操作,还介绍了安装、创建迁移仓库、脚本、更新数据库及回滚等步骤。

被折叠的 条评论
为什么被折叠?



