烧瓶数据库迁移错误

时间:2018-08-29 09:05:11

标签: python python-3.x flask sqlalchemy flask-sqlalchemy

我们正在尝试运行flask db migrateflask 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

1 个答案:

答案 0 :(得分:1)

我认为,如果您像使用迁移一样

Unauthorized

您首先必须导入它,然后声明它:

migrate.init_app(app, db)  

或者我认为您可以做到:

from flask_migrate import Migrate
migrate = Migrate()
migrate.init_app(app, db)