Flask 1.0 + 版本 以下代码在该版本下测试:
from flask import Flask
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
app = Flask(__name__)# 创建脚本管理器对象
manager = Manager(app)
# 让迁移时,app和db建立关联
migrate = Migrate(app,db)
# 将数据库迁移的脚本、命令添加到脚本管理器对象
manager.add_command('db', MigrateCommand)if __name__ == '__main__':
manager.run()
数据库迁移方法:
python xx.py db init
python xx.py db migrate
python xx.py db upgrade
ModuleNotFoundError: No module named 'flask._compat'
文章图片
原因就是flask2.0 移除了_compat这个模块,而且flask_script模块也停止维护了:
解决方法:
- 降低各类库版本,去使用上述代码
- 使用Flask2.0支持的方法去使用migrate
KeyError: 'migrate'
from app import create_app, db
from flask_migrate import Migrateif __name__ == '__main__':
# 1. 创建Flask对象
app = create_app('development')
migrate = Migrate(app, db)
# 2. 运行
app.run()
如图所示:
文章图片
这里错误的原因是因为通过
app = create_app('development')
去初始化(具体不用做了什么),而且我的Migrate(app, db)
是在初始化完成后使用的,上述是错误的用法Flask 2.0 + 版本 正确的用法,版本信息如下:
from flask import Flask
from flask_migrate import Migrate
app = Flask(__name__)
# 数据库迁移关联app和db
Migrate(app,db)if __name__ == '__main__':
app.run()
数据库迁移方法:
flask db init
flask db migrate
flask db upgrade
文章图片
推荐阅读
- 如何在Windows中使用Python重新启动本地或网络计算机
- 使用appJar(基于Tkinter的UI)使用Python创建非常简单的图形用户界面
- 如何在Windows中使用pyinstaller从Python脚本创建可执行文件(.exe)
- 大数据|基于数字孪生的智能车间管控
- 营销中的机器学习-强大的应用程序可以尝试
- 与你合作的软件开发团队
- 使API文档工作所需的7个基本要素
- AI和机器学习如何重塑员工敬业度()
- 为什么共享办公空间吸引开发人员