SQLAlchemy如何给列和表添加注释comment?

1、首先需要升级版本到1.2.x,我用的是1.2.14验证的,没有问题

2、看示例:

class LoadResource(Base):
    """施压机资源."""
    # def __init__(self):
    #     pass
    __tablename__ = 'load_resource'   # 数据库名字

    id = Column(Integer, primary_key=True, doc='主键', comment='主键')  # 压测资源主键,comment为列注释
    resource_ip = Column(String(50), doc='资源ip', comment='资源ip')        # 压测资源IP
    resource_zone = Column(String(50), doc='资源区域', comment='资源区域')      # 压测资源区域
    project_id = Column(String(250), doc='项目id', comment='项目id')      # 占用资源的项目ID
    scene_id = Column(String(250), doc='场景id', comment='场景id')        # 占用资源的场景ID
    # task_name = Column(String(250))         # 占用资源的任务名字
    task_uid = Column(String(250), doc='任务id', comment='任务id')          # 占用资源的任务ID,根据任务ID可以得知项目和场景信息
    resource_status = Column(Boolean, default=False, doc='资源状态', comment='资源状态')                                # 压测资源可用状态,默认False表示可用
    gmt_create = Column(TIMESTAMP, server_default=func.now(), doc='创建时间', comment='创建时间')                       # 创建时间
    gmt_modify = Column(TIMESTAMP, server_default=func.now(), onupdate=func.now(), doc='更新时间', comment='更新时间')  # 修改时间
    __table_args__ = (Index('index(zone,status)', 'resource_zone', 'resource_status'), {'comment': '压测资源表'})  # 添加索引和表注释

下面添加索引的方法也可以

class A(Base):
    __tablename__ = 'table_A'
    id = Column(Integer, primary_key=True)
    a = Column(String(32))
    b = Column(String(32))

Index('my_index', A.a, A.b)

 

 

参考:

https://docs.sqlalchemy.org/en/latest/core/metadata.html

 

posted @ 2018-11-20 16:16  脚本小娃子  阅读(8224)  评论(0编辑  收藏  举报