相关文章推荐
坚韧的丝瓜  ·  Sqlalchemy IN条件查询·  2 周前    · 
知识渊博的斑马  ·  Excel ...·  11 月前    · 
安静的毛豆  ·  Oracle GoldenGate ...·  1 年前    · 
路过的香蕉  ·  vba excel find max ...·  1 年前    · 
class BaseModel ( Base ) : __tablename__ = f 'table_{suffix}' __table_args__ = { 'extend_existing' : True } target_name = db . Column ( db . String ( 64 ) , nullable = False , unique = True , comment = "名称" ) target_id = db . Column ( db . String ( 32 ) , comment = "ID" ) country = db . Column ( db . String ( 32 ) , comment = "国家" ) time = db . Column ( db . DateTime , comment = '时间' ) content = db . Column ( db . Text ) the_geom = db . Column ( Geometry ( geometry_type = 'POINT' , srid = 4326 ) , comment = '经纬度' ) return BaseModel

初始化数据库

@manager.command
def init_db():
    import json
    # 1. 获取数据列表
    with open('data_list.json', 'r') as f:
        ship_list = json.load(f)
    # 2. 动态创建数据库表
    for datain data_list:
        data_id = data['ID']
        get_model(data_id)
    with app.app_context():
        db.create_all(app=app)
    print('create table success')
  • https://stackoverrun.com/cn/q/5228815
  • https://www.jianshu.com/p/130bb4b36920
创建模型def get_model(suffix): class BaseModel(Base): __tablename__ = f'table_{suffix}' target_name = db.Column(db.String(64), nullable=False, unique=True, comment="名称") target_id = db.Column(db.String(32), comment="ID") c from app_factory import app from sqlalchemy import Column, String, Integer class ProjectModel(app.db.model, app.db.Mixin): tablename = 'Project_' ID = Column(String(50), name='ID', doc='id') PROJECTNUMBER = Column(Strin
初始化和配置 Flask-SQLAlchemy是一个Flask扩展,能够支持多种数据库后台,我们可以不需要关心SQL的处理细节,操作数据库,一个基本关系对应一个类,而一个实体对应类的实例对象,通过调用方法操作数据库。Flask-SQLAlchemy有很完善的文档。 连接mysql方法: from flask_sqlalchemy import SQLAlchemy from flask im...
sqlalchemy动态创建数据表前言一、sqlalchemy中的Metadata类1.1创建一个MetaData类1.2创建数据表类1.3创建数据表2.动态创建数据表 参考来源:sqlalchemy中创建数据表 在sqlalchemy中,想要动态创建数据表时,可以调用sqlalchemy的MetaData类以及create_all方法创建新的数据表 一、sqlalchemy中的Metadata类 SQL表达式语言根据表列构造其表达式。SQLAlchemy列对象表示数据库表中的一列,而该列又
from sqlalchemy import create_engine, text engine = create_engine('mysql+pymysql://user:password@host/dbname') with engine.connect() as conn: conn.execute(text('LOCK TABLES table_name WRITE')) # 执行需要锁定表的操作 conn.execute(text('UNLOCK TABLES')) 其中,`table_name`是需要锁定的表名,`WRITE`表示锁定的类型为写锁。在执行完需要锁定表的操作后,需要执行`UNLOCK TABLES`释放锁。