python - flask db init:PyCharm 中的 KeyError 'migrate'
问题描述
我在 PyCharm 中运行以下代码并获取 KeyError 'migrate'
import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
basedir = os.path.abspath(os.path.dirname(__file__))
print(basedir)
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///'+os.path.join(basedir,'data.sqllite')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
migrate = Migrate(app, db)
然后我在命令行中运行set FLASK_APP=app_database.py
,flask db init
但我不断收到directory = current_app.extensions['migrate'].directory KeyError: 'migrate'错误。
我被困住了。有人可以帮忙吗?非常感谢你!
解决方案
添加 migrate = Migrate(app, db) 到init .py 解决了这个问题。(我没有意识到这对于 cli 功能和数据库初始化是必要的,假设它只与之后的数据库迁移有关。)
运行 flask db init 现在可以正常工作:
推荐阅读
- reactjs - 如何观察 Redux 操作?
- reactjs - 从另一个类方法调用 React setState 不会更新集合
- php - 根据平均分数、评论数量和价格对产品进行排名
- python - 如何获取用户属于python中的哪个组
- redis - 为什么刚刚创建的redis集群used_memory_human是200M左右?
- python - 如果值无效,flask+marshmallow 设置默认值
- php - 在数据库codeigniter上保存时选择选项问题
- parsing - 从 url 解析 bibtex
- javascript - jest 无法使用主入口点定位模块
- tableau-api - 如何在 Tableau 计算中排除不适用的值