简体   繁体   中英

`flask db migrate` error

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

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) 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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