繁体   English   中英

当我尝试在 Windows 上运行 flask db init 时出现迁移错误

[英]Getting a migrate error when I try to run flask db init on windows

当我尝试运行flask db init ,出现以下错误。 请注意,我的环境变量已激活,并且我已经设置了FLASK_APP=adoption_site.py ,这是我尝试运行的脚本。

Traceback (most recent call last):
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\Mert\Anaconda3\envs\mynewflaskenv\Scripts\flask.exe\__main__.py", line 7, in <module>
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\flask\cli.py", line 894, in main
    cli.main(args=args, prog_name=name)
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\flask\cli.py", line 557, in main
    return super(FlaskGroup, self).main(*args, **kwargs)
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\click\core.py", line 697, in main
    rv = self.invoke(ctx)
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\click\core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\click\core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\click\core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\click\core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\click\decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\flask\cli.py", line 412, in decorator
    return __ctx.invoke(f, *args, **kwargs)
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\click\core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\flask_migrate\cli.py", line 31, in init
    _init(directory, multidb)
  File "c:\users\mert\anaconda3\envs\mynewflaskenv\lib\site-packages\flask_migrate\__init__.py", line 109, in init
    directory = current_app.extensions['migrate'].directory
KeyError: 'migrate'

我错过了什么吗?

就像@v25 所说的那样,造成这种情况的原因很可能是没有创建使用 Flask 应用程序和 SQLAlchemy DB 对象初始化的 Migrate对象:

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db'

db = SQLAlchemy(app)
migrate = Migrate(app, db)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM