【发布时间】:2020-07-08 02:58:10
【问题描述】:
我有一个使用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 表更改,但我想知道我应该在哪里初始化 migrate?我曾尝试在 wsgi.py 或 app/init.py 中执行此操作,但都不起作用... 请帮我一把,先谢谢了。
【问题讨论】:
标签: python flask gunicorn migrate