我有一个使用flask+gunicorn+MySQL的项目,目录如下:
├── Pipfile
├── Pipfile.lock
├── README.md
├── __init__.py
├── app
│ ├── __init__.py
│ ├── login.py
│ ├── system.py
│ ├── model.py
│ ├── task.py
│ └── view.py
├── config.py
├── gunicorn.conf
├── requirements.txt
├── tests
│ └── testurl.py
└── wsgi.py
app/init.py中有一个函数工厂,如下所示:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
def create_app(conf):
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = DATA_BASE_PATH
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app=app)
with app.app_context():
db.create_all()
app.register_blueprint(blueprint=view, url_prefix='/view/')
socketio.init_app(app, async_mode=None)
login_init(app)
return app
在wsgi.py文件中,我有:
from app import create_app
from config import app_conf
from app import socketio
app = create_app(app_conf)
if __name__ == "__main__":
socketio.run(app=app, host=host, use_reloader=False)
如果我想运行此porj,我使用:
gunicorn -c gunicorn.conf wsgi:app
现在我想使用flask migrate自动更新MySQL表更改,但我想知道应该在哪里初始化迁移?我在wsgi.py或app/init.py中尝试过这样做,但都不起作用。。。 请帮我一把,谢谢
您应该在app/init.py文件中初始化烧瓶迁移,例如:
然后,要运行迁移,只需在cmdshell中运行
flask db migrate
相关问题 更多 >
编程相关推荐