一、问题描述
学习flask框架进行数据库迁移任务时,需要对数据库对象进行初始化,网上很多教程采用flask子命令flask db init
来执行在项目目录产生一个migrations的文件夹用于存放初始化文件,本人在做第一个数据库迁移demo1时成功执行了,然而进行第一个数据库迁移demo2发现在不同的虚拟环境中无法使用上述命令,故错误提示如下,提示没有No such command 'db'
:
二、问题解决办法
采用另外一种方法,通过python命令行来执行初始化任务,步骤如下:
- 安装flask-script使得python支持命令行操作,可以在IDE中setting中或者终端terminal执行
pip install flask-flask-script
- 在初始化文件__init__.py中写上红线框的关键代码,如下:
- 在启动文件中修改
app.run()
为manager.run()
,如下:
三、执行操作
在虚拟环境下执行命令:python Myblog.py db init
其中Myblog.py是程序入口,里面有关键代码manager.run()
,结果截图如下:
新生成的文件夹如下: