Flask框架学习无法用flask db init子命令进行数据库迁移初始化的解决办法

一、问题描述

学习flask框架进行数据库迁移任务时,需要对数据库对象进行初始化,网上很多教程采用flask子命令flask db init来执行在项目目录产生一个migrations的文件夹用于存放初始化文件,本人在做第一个数据库迁移demo1时成功执行了,然而进行第一个数据库迁移demo2发现在不同的虚拟环境中无法使用上述命令,故错误提示如下,提示没有No such command 'db'
在这里插入图片描述

二、问题解决办法

采用另外一种方法,通过python命令行来执行初始化任务,步骤如下:

  1. 安装flask-script使得python支持命令行操作,可以在IDE中setting中或者终端terminal执行pip install flask-flask-script
  2. 在初始化文件__init__.py中写上红线框的关键代码,如下:
    在这里插入图片描述
  3. 在启动文件中修改app.run()manager.run(),如下:
    在这里插入图片描述

三、执行操作

在虚拟环境下执行初始化命令:python Myblog.py db init
其中Myblog.py是程序入口,里面有关键代码manager.run(),结果截图如下:
在这里插入图片描述
新生成的文件夹如下:
在这里插入图片描述
数据库迁移命令python Myblog.py db migrate
**在这里插入图片描述**
数据库迁移命令完之后该使用数据库更新命令:python Myblog.py db upgrade
在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值