sqlalchemy判断表是否存在及动态创建表

def get_model(suffix):
    class TableModel(Base):
        __tablename__ = f'table_{suffix}'
        __table_args__ = {'extend_existing': True}

        name = db.Column(db.String(64), comment="名称")
        desc= db.Column(db.String(32), comment="描述")

    return TableModel
suffix ="111"

with app.app_context():
    # 判断数据库是否存在表
    has_table = db.engine.dialect.has_table(db.engine.connect(), f"table_{suffix}")
    if not has_table:
        model = get_model(table_suffix)
        db.create_all()
        print(f"create {ship_model} success.")

你可能感兴趣的:(数据库,sqlalchemy)