ITPub博客

首页 > IT职业 > IT职场 > flask数据库迁移是什么意思

flask数据库迁移是什么意思

IT职场 作者:nt1979 时间:2021-09-11 10:34:33 0 删除 编辑

使用数据库迁移,可以直接建表,而不用我们自己写sql语句用来建表。就是将关系型数据库的一张张表转化成了Python的一个个类。

在开发中经常会遇到需要修改原来的数据库模型,修改之后更新数据库,最简单粗暴的方式就是删除旧表,然后在增加新表,这样做的缺点是会造成数据丢失。

使用数据库迁移,可以追踪数据库模式的变化,然后把变动应用到数据库中。

在flask中使用Flask-Migrate来实现数据库迁移,并且集成到Flask-Script中,所有的操作通过命令来完成。

为了导出数据库迁移命令,Flask-Migrate使用了一个MigrateCommand类,可以附加到Flask-Script的manager对象上。

迁移数据库三步走:

第一步:创建迁移仓库

python database.py db init

这里的db是迁移命令的对象,名字可以随便取,但是需要保持一致。

这个命令会创建migrations文件夹,所有迁移文件都放在里面。

这里只是创建了迁移仓库,表还没创建。

第二步:创建迁移脚本

自动创建迁移脚本有两个函数

upgrade():函数把迁移中的改动应用到数据库中。

downgrade():函数则将改动删除。

自动创建的迁移脚本会根据模型定义和数据库当前状态的差异,生成upgrade()和downgrade()函数的内容。

对比不一定完全正确,有可能会遗漏一些细节,需要进行检查

python database.py db migrate -m 'initial migration'
"initial migration"是注释

第三步:更新数据库

更新数据库命令:

python migrate.py db upgrade

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4822/viewspace-2836828/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 学python3看什么书
请登录后发表评论 登录
全部评论

注册时间:2019-08-05

  • 博文量
    318
  • 访问量
    17306