是这样的,Flask web 开发提到的数据库创建,用的是执行命令行
python manage shell
from manage import db
db.crate_all()
很多人部署,用的是导入SQL文件的取巧办法。
我想知道,如何在代码里实现数据库的创建呢?
这句代码该放在哪里?
manage.py
__init__.py
我个人是用SQL导入的,看到这个问题,想到一个方案:利用before_first_reques请求钩子函数,在处理第一个请求之前执行创建表的工作。
推荐Flask-Migrate,数据库迁移使用,少走弯路
我找到一种方式,不算好,不过可以用。
#app\__init__.py对应位置加入
def create_app(config_name):
app = Flask(__name__)
...
db.init_app(app)
with app.app_context():
# Extensions like Flask-SQLAlchemy now know what the "current" app
# is while within this block. Therefore, you can now run........
db.create_all()
return app