问题
We are trying to run a flask db migrate
and flask db upgrade
which throws the following error:
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
We have added the app's directory to the PYTHONPATH
environment variable but still get the error. Any help would be appreciated.
Below is our __init__.py
code. Are we missing something?
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
回答1:
I think if you are using migrate like you are
migrate.init_app(app, db)
that you first have to import it and then declare it:
from flask_migrate import Migrate
migrate = Migrate()
migrate.init_app(app, db)
or alternatively I think you could do:
from flask_migrate import Migrate
migrate = Migrate(app, db)
来源:https://stackoverflow.com/questions/52073561/flask-db-migrate-error