无法从 flask_migrate 导入 MigrateCommand
Can't import MigrateCommand from flask_migrate
我在 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
似乎不再支持MigrateCommand
:https://github.com/miguelgrinberg/Flask-Migrate/issues/407
可能的解决方法是安装旧版本的 Flask-Migrate
,例如:
pip install Flask-Migrate==2.6.0
或切换到 Flask CLI
我在 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
似乎不再支持MigrateCommand
:https://github.com/miguelgrinberg/Flask-Migrate/issues/407
可能的解决方法是安装旧版本的 Flask-Migrate
,例如:
pip install Flask-Migrate==2.6.0
或切换到 Flask CLI