无法从 flask_migrate 导入 MigrateCommand
Posted
技术标签:
【中文标题】无法从 flask_migrate 导入 MigrateCommand【英文标题】:Can't import MigrateCommand from flask_migrate 【发布时间】:2021-10-02 06:03:22 【问题描述】:我在 Flask 应用程序中为数据库迁移创建了一个 manage.py 文件,但在尝试导入 MigrateCommand 时出现错误。我正在使用 PyCharm,我确定该软件包已安装。
代码:
import os
from flask_migrate import Migrate,MigrateCommand
from flask_script import Manager
from app import app, db
app.config.from_object(os.environ['APP_SETTINGS'])
migrate = Migrate(app, db)
manager = Manager(app)
manager.add_command('db', MigrateCommand)
if __name__ == '__main__':
manager.run()
错误:
Cannot find reference 'MigrateCommand' in '__init__.py'
编辑:
就像 Matteo Pasini 回答的 Flask-Script 不再受支持,最好的解决方案是使用 Flask CLI。对于任何想知道使用 Flask CLI 的 manage.py 文件是什么的人,我建议阅读这个解释得很好的简短指南:
https://medium.datadriveninvestor.com/migrating-flask-script-to-flask-2-0-cli-4a5eee269139
【问题讨论】:
【参考方案1】:MigrateCommand
似乎不再受支持:https://github.com/miguelgrinberg/Flask-Migrate/issues/407
一种可能的解决方法是安装旧版本的Flask-Migrate
,例如:
pip install Flask-Migrate==2.6.0
或切换到 Flask CLI
【讨论】:
我们谈论的是flask_migrate
。为什么你告诉切换到flask_cli
而不是flask_shell
。你能帮忙解释一下吗?
github.com/miguelgrinberg/Flask-Migrate/issues/407以上是关于无法从 flask_migrate 导入 MigrateCommand的主要内容,如果未能解决你的问题,请参考以下文章
flask_migrate---处理 sqlalchemy 数据迁移的工具
Flask 学习-19.配置管理flask_sqlalchemy 和 flask_migrate
Flask插件---flask_script与flask_migrate
Please edit configuration/connection/logging settings in '/home/mac126/Desktop/13/test3-1/migr