Flask-SQLAlchemy中是否支持单独创建或删除某一张数据表?
Flask-SQLAlchemy单表操作方法说明
Flask-SQLAlchemy本身支持单独创建/删除单张表,无需执行原生SQL语句。
你在原生SQLAlchemy中使用的单表操作能力,在Flask-SQLAlchemy环境下可以直接复用,原因是Flask-SQLAlchemy封装的模型类自带原生Table对象实例,可直接调用其drop、create方法:
- 单表删除:
你的模型类.__table__.drop(db.engine) - 单表创建:
你的模型类.__table__.create(db.engine)
举个实际示例,假设你定义了如下模型:
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class Employee(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50))
对应的单表删除操作为:Employee.__table__.drop(db.engine)
如果需要避免表不存在时报错,可以添加checkfirst参数:Employee.__table__.drop(db.engine, checkfirst=True)
之前你在Flask-SQLAlchemy官方文档中没有找到相关说明,是因为这类属于底层SQLAlchemy的原生能力,Flask-SQLAlchemy仅做了上层封装,没有重复赘述相关用法。
内容的提问来源于stack exchange,提问作者user14426812
相关产品推荐
相关产品推荐

