点击上方蓝字设为星标
每天傍晚伴你一起成长!
在文章底部你的每一次随手
→分享、点赞、在看都很重要,感谢!!!
数据库知识点Flask-SQLALchemy安装
连接数据库
使用数据库
数据库迁移
邮件扩展
数据库迁移:创建迁移仓库
创建迁移脚本
更新数据库
回退数据库
在实际的系统开发中,经常碰到需要更新数据库中的表或修改字段等操作。
如果通过手工编写SQL脚本进行处理,修改起来就会非常麻烦。
那有没有简单一点的办法呢?
有!Flask-Migrate数据库迁移框架就是专门解决这个问题的。
使用Flask-Migrate数据库迁移框架可以保证数据库结构在发生变化时,改变数据库结构不至于丢失数据库的数据。
数据库迁移在开发过程中,需要修改数据库模型,而且还要在修改之后更新数据库。最直接的方式就是删除旧表,但这样会丢失数据。
更好的解决办法是使用数据库迁移框架,它可以追踪数据库模式的变化,然后把变动应用到数据库中。
在Flask中可以使用Flask-Migrate扩展,来实现数据迁移。并且集成到Flask-Script中,所有操作通过命令就能完成。
为了导出数据库迁移命令,Flask-Migrate提供了一个MigrateCommand类,可以附加到flask-script的manager对象上。
首先要在虚拟环境中安装Flask-Migrate。
pipinstallflask-migrate
文件:database.py
#coding=utf-8fromflaskimportFlaskfromflask_sqlalchemyimportSQLAlchemyfromflask_migrateimportMigrate,MigrateCommandfromflask_scriptimportShell,Managerapp=Flask(__name__)manager=Manager(app)app.config[SQLALCHEMY_DATABASE_URI]=mysql://root:mysql
.0.0.1:/Flask_testapp.config[SQLALCHEMY_COMMIT_ON_TEARDOWN]=Trueapp.config[SQLALCHEMY_TRACK_MODIFICATIONS]=Truedb=SQLAlchemy(app)#第一个参数是Flask的实例,第二个参数是Sqlalchemy数据库实例migrate=Migrate(app,db)#manager是Flask-Script的实例,这条语句在flask-Script中添加一个db命令manager.add_