我们正在尝试运行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
我想如果你像你一样使用迁移
migrate.init_app(app, db)
您首先必须导入它然后声明它:
from flask_migrate import Migrate
migrate = Migrate()
migrate.init_app(app, db)
或者我认为你可以这样做:
from flask_migrate import Migrate
migrate = Migrate(app, db)