【发布时间】:2019-02-04 00:19:29
【问题描述】:
我们正在尝试运行flask db migrate 和flask db upgrade,这会引发以下错误:
Usage: flask db upgrade [OPTIONS] [REVISION] Error: The file/path provided (C) does not appear to exist. Please verify the path is correct. If app is not on PYTHONPATH, ensure the extension is .py
我们已将应用程序的目录添加到 PYTHONPATH 环境变量中,但仍然出现错误。任何帮助将不胜感激。
下面是我们的__init__.py 代码。我们错过了什么吗?
import logging
from flask import Flask
from flask_appbuilder import SQLA, AppBuilder
"""
Logging configuration
"""
logging.basicConfig(format='%(asctime)s:%(levelname)s:%(name)s:%(message)s')
logging.getLogger().setLevel(logging.DEBUG)
app = Flask(__name__)
app.config.from_object('config')
db = SQLA(app)
appbuilder = AppBuilder(app, db.session)
migrate.init_app(app, db)
"""
from sqlalchemy.engine import Engine
from sqlalchemy import event
#Only include this for SQLLite constraints
@event.listens_for(Engine, "connect")
def set_sqlite_pragma(dbapi_connection, connection_record):
# Will force sqllite contraint foreign keys
cursor = dbapi_connection.cursor()
cursor.execute("PRAGMA foreign_keys=ON")
cursor.close()
"""
from app import views
【问题讨论】:
-
你运行命令时是否在flask app目录下?您是否已将应用程序配置为使用
migrate,如此处所示 - flask-migrate.readthedocs.io/en/latest。app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///app.db' db = SQLAlchemy(app) migrate = Migrate(app, db) -
我们在正确的目录中但是我们可能没有正确配置应用程序。您引用的代码需要添加到
__init__.py对吗?
标签: python python-3.x flask sqlalchemy flask-sqlalchemy