CREATE TABLE wechat_work_user ( wechat_work_userid varchar(64) not null primary key COMMENT '成员UserID,忽略大小写', corpid char(20) not null, data json not null comment '实际数据', user_id int unsigned, create_time timestamp default CURRENT_TIMESTAMP COMMENT '创建时间', update_time timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', index (corpid), index (user_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='企微通讯录用户表'; 基于此表编写flask中的model层
时间: 2023-02-08 13:25:40 浏览: 195
wechat-user-service.rar_http://wechata_nodeJS 微信_nodejs_wechat_w
这是一条创建MySQL表的SQL语句。它创建了一个名为wechat_work_user的表,表中有一个varchar(64)类型的主键wechat_work_userid、一个char(20)类型的corpid列、一个json类型的data列、一个int类型的unsigned user_id列、两个timestamp类型的create_time和update_time列,以及基于corpid和user_id的索引。
在flask中的model层,可以使用SQLAlchemy的ORM功能来映射这张表。首先,需要定义一个继承自SQLAlchemy的Model类的类,然后在类中使用SQLAlchemy的字段类型来声明表中的每一列。比如:
```
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class WechatWorkUser(db.Model):
__tablename__ = 'wechat_work_user'
wechat_work_userid = db.Column(db.String(64), primary_key=True)
corpid = db.Column(db.String(20), nullable=False)
data = db.Column(db.JSON, nullable=False)
user_id = db.Column(db.Integer, nullable=True)
create_time = db.Column(db.TIMESTAMP, default=datetime.utcnow, nullable=False)
update_time = db.Column(db.TIMESTAMP, default=datetime.utcnow, onupdate=datetime.utcnow, nullable=False)
__table_args__ = (db.Index('corpid', 'corpid'), db.Index('user_id', 'user_id'))
```
这样就可以使用SQLAlchemy的ORM功能来操作wechat_work_user表了。
阅读全文