Exemplo n.º 1
0
class HtAddressBook(Base):
    __tablename__ = 'ht_address_book'

    id = Column(INTEGER(11), primary_key=True, comment='编号')
    be_focused_user_id = Column(INTEGER(11),
                                nullable=False,
                                comment='被关注者用户编号')
    focused_user_id = Column(INTEGER(11),
                             nullable=False,
                             index=True,
                             comment='关注者用户编号')
    created_at = Column(INTEGER(11), nullable=False, comment='创建时间')
    updated_at = Column(INTEGER(11), nullable=False, comment='更新时间')
    room_uuid = Column(VARCHAR(255),
                       nullable=False,
                       server_default=text("''"),
                       comment='房间唯一编号')
    save_action = Column(TINYINT(1),
                         nullable=False,
                         server_default=text("'0'"),
                         comment='保存方式')
    is_alert = Column(TINYINT(1), nullable=False, comment='是否提醒')
    unread_number = Column(INTEGER(11), nullable=False, comment='未读取信息次数')
Exemplo n.º 2
0
class QiScoreCall(Base):
    __tablename__ = 'qi_score_call'

    insert_time = Column(INTEGER(11))
    is_deleted = Column(SMALLINT(6),
                        nullable=False,
                        server_default=text("'0'"))
    id = Column(INTEGER(11), primary_key=True)
    call_id = Column(VARCHAR(64), nullable=False)
    qc_time = Column(DateTime, nullable=False, index=True)
    hit_rules = Column(String(1000))
    qc_score = Column(INTEGER(11), nullable=False, index=True)

    def keys(self):
        return [
            'insert_time',
            'is_deleted',
            'id',
            'call_id',
            'qc_time',
            'hit_rules',
            'qc_score',
        ]
Exemplo n.º 3
0
class Role(db.Model, OutputMixin):
    """角色"""

    __tablename__ = 'role'
    __table_args__ = {'mysql_collate': 'utf8mb4_general_ci'}

    id = Column(INTEGER(unsigned=True), primary_key=True)
    name = Column(VARCHAR(30), unique=True)
    permissions = relationship('Permission',
                               secondary=role_has_permissions,
                               back_populates='roles')

    users = relationship('User', back_populates='role')

    def __repr__(self):
        return "Role<%s %s>" % (self.id, self.name)

    def to_json(self, rel=None):
        return {
            'id': self.id,
            'name': self.name,
            'permissions': [i.to_json() for i in self.permissions]
        }
Exemplo n.º 4
0
class AppEntity(TableBase):
    entity = sa.Column(INTEGER(unsigned=True), nullable=False, primary_key=True)
    agent_id = sa.Column(INTEGER(unsigned=True), nullable=False)
    group_id = sa.Column(sa.ForeignKey('groups.group_id', ondelete="RESTRICT", onupdate='RESTRICT'),
                         nullable=False)
    objtype = sa.Column(VARCHAR(64), nullable=False)
    platform = sa.Column(TINYINT(unsigned=True), nullable=False, default=0)
    opentime = sa.Column(INTEGER(unsigned=True), nullable=True)
    status = sa.Column(TINYINT(64), nullable=False, default=common.UNACTIVE)
    cross_id = sa.Column(INTEGER(unsigned=True), nullable=True)
    set_id = sa.Column(INTEGER(unsigned=True), nullable=True)
    # 资源版本优先级设置, key pakcage id  value  version
    versions = sa.Column(BLOB, nullable=True)
    areas = orm.relationship(GameArea, backref='appentity', lazy='select',
                             cascade='delete,delete-orphan')
    databases = orm.relationship(AreaDatabase, backref='appentity', lazy='select',
                                 cascade='delete,delete-orphan')

    __table_args__ = (
        sa.Index('agent_id_index', 'agent_id'),
        sa.Index('group_id_index', 'group_id'),
        InnoDBTableBase.__table_args__
    )
Exemplo n.º 5
0
class province(Base):
    # 指定表名称
    __tablename__ = "province"
    # 主键
    id = Column(INTEGER, primary_key=True, autoincrement=True)
    #省份名称
    province_name = Column(VARCHAR(64), comment='省份名称')
    #今日新增加
    today_confirm = Column(INTEGER, comment='今日新增加')
    #累计确诊
    total_confirm = Column(INTEGER, comment='累计确诊')
    # 每日新增现有疑似
    suspect = Column(INTEGER, comment="现有疑似")
    # 累计死亡
    dead = Column(INTEGER, comment="累计死亡")
    #当前死亡率
    deadRate = Column(DECIMAL(5, 2), comment='当前死亡率')
    # 累计治愈
    heal = Column(INTEGER, comment="累计治愈")
    #治愈率
    healRate = Column(DECIMAL(5, 2), comment='治愈率')
    # 更新时间
    create_dt = Column(DATETIME, comment="更新时间")
Exemplo n.º 6
0
class User(Base):
    __tablename__ = 'user'

    id = Column(INTEGER(11), primary_key=True, comment='id')
    username = Column(VARCHAR(64), nullable=False, comment='用户名')
    password = Column(String(32), nullable=False, comment='密码')
    access_level = Column(INTEGER(255),
                          server_default=text("1"),
                          comment='权限等级')
    last_login = Column(TIMESTAMP,
                        server_default=text("current_timestamp()"),
                        comment='上次登录时间')
    create_time = Column(TIMESTAMP,
                         server_default=text("current_timestamp()"),
                         comment='创建时间')

    def verify_password(self, password):
        return self.password == password

    def generate_auth_token(self, expiration=3600):
        s = Serializer(current_app.config['SECRET_KEY'], expires_in=expiration)
        return s.dumps({'id': self.id}).decode('ascii')

    def save_token(self, id, token):
        cache.set(id, token, timeout=3600)

    @staticmethod
    def verify_parse_token(token):
        s = Serializer(app.config['SECRET_KEY'])
        try:
            data = s.loads(token)
        except SignatureExpired:
            return None  # valId token, but expired
        except BadSignature:
            return None  # invalId token
        # user = db.session.query(UUser).get(data['id'])
        return data
Exemplo n.º 7
0
class AreaDatabase(TableBase):
    quote_id = sa.Column(INTEGER(unsigned=True),
                         nullable=False,
                         primary_key=True)
    database_id = sa.Column(INTEGER(unsigned=True), nullable=False)
    entity = sa.Column(sa.ForeignKey('appentitys.entity',
                                     ondelete="CASCADE",
                                     onupdate='RESTRICT'),
                       nullable=False)
    subtype = sa.Column(VARCHAR(64), nullable=False)
    host = sa.Column(VARCHAR(200), default=None, nullable=False)
    port = sa.Column(SMALLINT(unsigned=True), default=3306, nullable=False)
    user = sa.Column(VARCHAR(64), default=None, nullable=False)
    passwd = sa.Column(VARCHAR(128), default=None, nullable=False)
    ro_user = sa.Column(VARCHAR(64), default=None, nullable=False)
    ro_passwd = sa.Column(VARCHAR(128), default=None, nullable=False)
    character_set = sa.Column(VARCHAR(64), default='utf8', nullable=True)

    __table_args__ = (sa.UniqueConstraint('entity',
                                          'subtype',
                                          name='type_unique'),
                      InnoDBTableBase.__table_args__)
Exemplo n.º 8
0
class StockShareholderTop10(Base):
    __tablename__ = 'stock_shareholder_top10'

    code = Column(VARCHAR(12), primary_key=True, nullable=False)
    company_name = Column(VARCHAR(100), primary_key=True, nullable=False)
    end_date = Column(Date, primary_key=True, nullable=False)
    pub_date = Column(Date)
    change_reason_id = Column(Float(asdecimal=True))
    change_reason = Column(VARCHAR(120))
    shareholder_rank = Column(BIGINT(20))
    shareholder_name = Column(VARCHAR(200), primary_key=True, nullable=False)
    shareholder_name_en = Column(VARCHAR(200))
    shareholder_id = Column(INTEGER(11))
    shareholder_class_id = Column(INTEGER(11))
    shareholder_class = Column(VARCHAR(150))
    share_number = Column(BIGINT(20))
    share_ratio = Column(DECIMAL(10, 4))
    sharesnature_id = Column(INTEGER(11))
    sharesnature = Column(VARCHAR(120))
    share_pledge_freeze = Column(DECIMAL(10, 4))
    share_pledge = Column(DECIMAL(10, 4))
    share_freeze = Column(DECIMAL(10, 4))
Exemplo n.º 9
0
class OmsOrderItem(Base):
    __tablename__ = 'oms_order_item'
    __table_args__ = {'comment': '订单中所包含的商品'}

    id = Column(BIGINT(20), primary_key=True)
    order_id = Column(ForeignKey('oms_order.id'), index=True, comment='订单id')
    order_sn = Column(VARCHAR(64), comment='订单编号')
    product_id = Column(BIGINT(20))
    product_pic = Column(VARCHAR(500))
    product_name = Column(VARCHAR(200))
    product_brand = Column(VARCHAR(200))
    product_sn = Column(VARCHAR(64))
    product_price = Column(DECIMAL(10, 2), comment='销售价格')
    product_quantity = Column(INTEGER(11), comment='购买数量')
    product_sku_id = Column(BIGINT(20), comment='商品sku编号')
    product_sku_code = Column(VARCHAR(50), comment='商品sku条码')
    product_category_id = Column(BIGINT(20), comment='商品分类id')
    product_attr = Column(
        VARCHAR(500),
        comment='商品销售属性:[{"key":"颜色","value":"颜色"},{"key":"容量","value":"4G"}]')

    order = relationship('OmsOrder')
Exemplo n.º 10
0
class AgentEndpoint(PluginTableBase):
    id = sa.Column(BIGINT(unsigned=True),
                   nullable=False,
                   primary_key=True,
                   autoincrement=True)
    endpoint = sa.Column(VARCHAR(manager_common.MAX_ENDPOINT_NAME_SIZE),
                         nullable=False)
    agent_id = sa.Column(sa.ForeignKey('agents.agent_id',
                                       ondelete="CASCADE",
                                       onupdate='RESTRICT'),
                         nullable=False)
    entitys = orm.relationship(AgentEntity,
                               backref='agentendpoint',
                               lazy='select',
                               cascade='delete,delete-orphan,save-update')
    ports = orm.relationship(AllocatedPort,
                             backref='agentendpoint',
                             lazy='select',
                             cascade='delete,delete-orphan')
    __table_args__ = (sa.UniqueConstraint('endpoint',
                                          'agent_id',
                                          name='unique_endpoint'),
                      sa.Index('endpoint_index',
                               'endpoint'), InnoDBTableBase.__table_args__)
Exemplo n.º 11
0
class Message(db.Model):
    __tablename__ = 'Message'

    mid = db.Column(INTEGER(11), primary_key=True, autoincrement=True)
    senderid = db.Column(ForeignKey('ChannelMembership.uid'))
    cid = db.Column(ForeignKey('ChannelMembership.cid'))
    content = db.Column(VARCHAR(500), nullable=False)
    sendtime = db.Column(DateTime)

    def __init__(self, senderid, cid, content, sendtime):
        self.senderid = senderid
        self.cid = cid
        self.content = content
        self.sendtime = sendtime

    def to_json(self):
        json_comment = {
            'mid': self.mid,
            'senderid': self.senderid,
            'cid': self.cid,
            'content': self.content,
            'sendtime': self.sendtime
        }
        return json_comment
Exemplo n.º 12
0
class Role(Base, BaseModelMixin):
    __tablename__ = 'role'
    __comment__ = '角色表'

    name = Column(VARCHAR(36), nullable=False, comment='角色名')
    description = Column(TEXT, comment='角色描述')

    class Status(Enum):
        INITIALIZATION = 0
        VALID = 1
        DELETED = 2
        INVALID = 3

    class BuiltInRole(Enum):
        REGISTRATION_USER = BuiltInRoleObject('注册会员', '注册会员')
        ADMINISTRATOR = BuiltInRoleObject('超级管理员', '超级管理员')
        BAN_LIST = BuiltInRoleObject('小黑屋', '小黑屋')

    def __init__(self, name, description, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.name = name
        self.description = description
        self.status = self.Status.VALID.value
Exemplo n.º 13
0
class Question(db.Model, BaseClass):
    """
        mcq questions corresponding to each passage
    """

    __bind_key__ = DATABASE_BIND_KEY
    __tablename__ = "question"
    __table_args__ = {"mysql_engine": "InnoDB"}

    passage_id = Column(BIGINT,
                        ForeignKey(Passage.id,
                                   onupdate="CASCADE",
                                   ondelete="CASCADE"),
                        nullable=False)
    question_id = Column(BIGINT, autoincrement=True, primary_key=True)
    question = Column(VARCHAR(200, unicode=True), nullable=False)
    options = relationship("MultipleOption",
                           lazy="select",
                           backref="question",
                           cascade="save-update, merge, delete")
    correct_answer = relationship("Answer",
                                  lazy="select",
                                  backref="question",
                                  cascade="save-update, merge, delete")
Exemplo n.º 14
0
class Board(Base):

    __tablename__ = 'Board'

    boardIndex = Column(INTEGER(unsigned=True),
                        primary_key=True,
                        autoincrement=True,
                        nullable=False)

    userIndex = Column(INTEGER(unsigned=True),
                       autoincrement=False,
                       nullable=False)

    problemIndex = Column(INTEGER(unsigned=True),
                          autoincrement=False,
                          nullable=False)

    title = Column(VARCHAR(80), unique=False)

    content = Column(String, unique=False)

    likeCount = Column(INTEGER(unsigned=True),
                       autoincrement=False,
                       nullable=False)
Exemplo n.º 15
0
    def test_imports_in_script(self):
        from sqlalchemy import MetaData, Table, Column
        from sqlalchemy.dialects.mysql import VARCHAR

        type_ = VARCHAR(20, charset="utf8", national=True)

        m = MetaData()

        Table("t", m, Column("x", type_))

        def process_revision_directives(context, rev, generate_revisions):
            generate_revisions[0].imports.add(
                "from sqlalchemy.dialects.mysql import TINYINT")

        with self._env_fixture(
                m, process_revision_directives=process_revision_directives):
            rev = command.revision(self.cfg,
                                   message="some message",
                                   autogenerate=True)

        with open(rev.path) as file_:
            contents = file_.read()
            assert "from sqlalchemy.dialects import mysql" in contents
            assert "from sqlalchemy.dialects.mysql import TINYINT" in contents
Exemplo n.º 16
0
class UserFission(BaseModel):

    __tablename__ = "users_fissions"

    id = Column(Integer, primary_key=True)
    parent_user_id = Column(Integer)
    from_user_id = Column(Integer)
    user_id = Column(Integer)
    video_id = Column(VARCHAR(64))
    create_time = Column(Integer)
    update_time = Column(Integer)

    def conv_result(self):
        ret = {}

        ret["id"] = self.id
        ret["parent_user_id"] = self.parent_user_id
        ret["from_user_id"] = self.from_user_id
        ret["user_id"] = self.user_id
        ret["video_id"] = self.video_id
        ret["create_time"] = self.create_time
        ret["update_time"] = self.update_time

        return ret
Exemplo n.º 17
0
class Model(Base):
    __tablename__ = 'tag'

    ID = Column(INTEGER(5), primary_key=True, autoincrement=True)
    name = Column(VARCHAR(20), nullable=False, comment='tag名')
    father = Column(INTEGER(5), nullable=True)

    def get_dict(self, get_children=False):
        """
        获取字典
        :param get_children: 是否获取子目录
        :return:
        """
        return {
            'ID': self.ID,
            'name': self.name,
            'father': self.father
        } if not get_children else {
            'ID': self.ID,
            'name': self.name,
            'father': self.father,
            'type': 0,
            'children': get_tag_children(self.ID) + get_tag_article(self.ID)
        }
Exemplo n.º 18
0
class IndustryModel(BaseModel):
    __tablename__ = 'industry'

    id = Column(INTEGER, primary_key=True, autoincrement=True)
    name = Column(VARCHAR(64), doc=u'行业名称')

    @classmethod
    def get(cls, name):
        query = cls.session.query(cls).filter(cls.name == name)
        return query.one_or_none()

    @classmethod
    def insert_if_not_exist(cls, name):
        """
        如果不存在 name == name 的数据库记录,则插入该条记录 
        :param name: 
        :return: 
        """
        sql = text("""INSERT INTO industry(name)
    SELECT :name AS name FROM dual
    WHERE NOT EXISTS
    (SELECT id FROM industry WHERE name = :name)""")
        cls.session.execute(sql, {'name': name})
        cls.session.commit()
Exemplo n.º 19
0
class MessageSendDetail(BaseModel):

    __tablename__ = "messages_send_detail"

    id = Column(Integer, primary_key=True)
    message_id = Column(Integer)
    from_user_id = Column(Integer)
    group_id = Column(VARCHAR(64))
    user_id = Column(Integer)
    create_time = Column(Integer)
    update_time = Column(Integer)

    def conv_result(self):
        ret = {}

        ret["id"] = self.id
        ret["message_id"] = self.message_id
        ret["from_user_id"] = self.from_user_id
        ret["group_id"] = self.group_id
        ret["user_id"] = self.user_id
        ret["create_time"] = self.create_time
        ret["update_time"] = self.update_time

        return ret
Exemplo n.º 20
0
class SushiJournalYOPMetric(Base):
    __tablename__ = 'sushi_journal_yop_metric'
    __table_args__ = (UniqueConstraint('year_month_day',
                                       'collection',
                                       'yop',
                                       'idjournal_sjym',
                                       name='uni_col_date_yop_jou_sjym'), )
    __table_args__ += (Index('idx_col_date_yop_sjym', 'collection',
                             'year_month_day', 'yop', 'idjournal_sjym'), )

    id = Column(INTEGER(unsigned=True), primary_key=True, autoincrement=True)

    collection = Column(VARCHAR(3), nullable=False)

    idjournal_sjym = Column(
        INTEGER(unsigned=True),
        ForeignKey('counter_journal.id', name='idjournal_sjym'))
    yop = Column(INTEGER(4))
    year_month_day = Column(Date, nullable=False)

    total_item_requests = Column(Integer, nullable=False)
    total_item_investigations = Column(Integer, nullable=False)
    unique_item_requests = Column(Integer, nullable=False)
    unique_item_investigations = Column(Integer, nullable=False)
Exemplo n.º 21
0
class Device(Base):
    __tablename__ = 'device'
    interface = Column('interface', VARCHAR(32), primary_key=False)
    device_ip = Column('device_ip', VARBINARY(16), primary_key=False)
    sensor_id = Column('sensor_id', BINARY(16), primary_key=False)
    id = Column('id', INTEGER, primary_key=True)
    #
    # Relations:
    #

    @property
    def serialize(self):
        """
        Converts the object in a serializable object

        :return: A dict object with all the row field.
        """
        hash_table = {
            'interface': str(self.interface),
            'device_ip': get_ip_str_from_bytes(self.device_ip),
            'sensor_id': get_uuid_string_from_bytes(self.sensor_id),
            'id': str(self.id),
        }
        return hash_table
Exemplo n.º 22
0
class Group(Base):
    __tablename__ = 'meetup_groups'

    id = Column(BIGINT(20), primary_key=True, autoincrement=False)
    urlname = Column(VARCHAR(200), unique=True)
    category_name = Column(VARCHAR(50))
    category_shortname = Column(VARCHAR(50))
    city = Column(VARCHAR(100))
    country = Column(VARCHAR(100))
    created = Column(BIGINT(20))
    description = Column(TEXT(collation="utf8mb4_unicode_ci"))
    lat = Column(DECIMAL(6, 3))
    lon = Column(DECIMAL(6, 3))
    members = Column(INT)
    name = Column(TEXT(collation="utf8mb4_unicode_ci"))
    topics = Column(JSON)
    category_id = Column(INT)
    country_name = Column(VARCHAR(100))
    timestamp = Column(TIMESTAMP)
Exemplo n.º 23
0
class PmsComment(Base):
    __tablename__ = 'pms_comment'
    __table_args__ = {'comment': '商品评价表'}

    id = Column(BigInteger, primary_key=True)
    product_id = Column(BigInteger)
    member_nick_name = Column(VARCHAR(255))
    product_name = Column(VARCHAR(255))
    star = Column(Integer, comment='评价星数:0->5')
    member_ip = Column(VARCHAR(64), comment='评价的ip')
    create_time = Column(DateTime)
    show_status = Column(Integer)
    product_attribute = Column(VARCHAR(255), comment='购买时的商品属性')
    collect_couont = Column(Integer)
    read_count = Column(Integer)
    content = Column(TEXT)
    pics = Column(VARCHAR(1000), comment='上传图片地址,以逗号隔开')
    member_icon = Column(VARCHAR(255), comment='评论用户头像')
    replay_count = Column(Integer)
Exemplo n.º 24
0
class VideoModel(Base):
    __tablename__ = 'video'
    id = Column('id', INTEGER(display_width=11, unsigned=True), primary_key=True, nullable=False)
    cloud = Column('cloud', VARCHAR(length=16), nullable=False)
    bucket = Column('bucket', VARCHAR(length=64), nullable=False)
    key = Column('key', VARCHAR(length=128), nullable=False)
    etag = Column('etag', VARCHAR(length=32))
    mime_type = Column('mime_type', VARCHAR(length=16))
    size = Column('size', INTEGER(display_width=10, unsigned=True))
    duration = Column('duration', INTEGER(display_width=10, unsigned=True), server_default=DefaultClause(TextClause('0')))
    width = Column('width', INTEGER(display_width=10, unsigned=True), server_default=DefaultClause(TextClause('0')))
    height = Column('height', INTEGER(display_width=10, unsigned=True), server_default=DefaultClause(TextClause('0')))
    persistent_id = Column('persistent_id', VARCHAR(length=32))
    pfop_vframe_status = Column('pfop_vframe_status', TINYINT(display_width=1), nullable=False, server_default=DefaultClause(TextClause('0')))
    pfop_transcode_status = Column('pfop_transcode_status', TINYINT(display_width=1), nullable=False, server_default=DefaultClause(TextClause('0')))
    status = Column('status', TINYINT(display_width=1), nullable=False, server_default=DefaultClause(TextClause('0')))
    create_ts = Column('create_ts', INTEGER(display_width=10), server_default=DefaultClause(TextClause('0')))
    __table_args__ = (
        Index('video_cloud_bucket_key_index_unique', 'cloud', 'bucket', 'key', unique=True),
    )
Exemplo n.º 25
0
    class Information(Base):
        __tablename__ = table_name
        __table_args__ = {'extend_existing': True}

        id = Column(BIGINT(20), primary_key=True)
        title = Column(VARCHAR(45), nullable=False)
        author = Column(VARCHAR(45), nullable=False, unique=True)
        board = Column(VARCHAR(45), nullable=False)
        hits = Column(VARCHAR(45), nullable=False)
        url = Column(VARCHAR(4096), nullable=False, unique=True)
        posted_date = Column(TIMESTAMP, nullable=False)
        description = Column(VARCHAR(4096))
        created_time = Column(TIMESTAMP,
                              nullable=False,
                              server_default=text("CURRENT_TIMESTAMP"))
        updated_time = Column(
            TIMESTAMP,
            nullable=False,
            server_default=text(
                "CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"))
Exemplo n.º 26
0
class HandInHomework(Base):
    __tablename__ = "HandInHomework"
    submitUserName = Column(VARCHAR(100), ForeignKey('PUser.userName'), primary_key=True, nullable=False)
    gradeUserName = Column(VARCHAR(100), ForeignKey('PUser.userName'), nullable=True)
    grades = Column(NUMERIC(5, 2))
    handInTime = Column(DATETIME(fsp=2), primary_key=True)
    fileName = Column(VARCHAR(256), nullable=False)
    file = Column(VARCHAR(256), nullable=False)
    courseDescriptor = Column(VARCHAR(256), ForeignKey('Course.courseDescriptor'), nullable=False)
    homeworkTitle = Column(VARCHAR(100), ForeignKey('Homework.homeworkTitle'), nullable=False)

    def __init__(self, susername, gusername, grade, hdintime, fil, descriptor, hwtitle, filen):
        self.submitUserName = susername
        self.gradeUserName = gusername
        self.grades = grade
        self.handInTime = hdintime
        self.file = fil
        self.courseDescriptor = descriptor
        self.homeworkTitle = hwtitle
        self.fileName = filen
Exemplo n.º 27
0
class LDetails(Base):
    __tablename__ = 'L_details'

    Id = Column(INTEGER(11), primary_key=True)
    Url = Column(VARCHAR(255))
    BugNumber = Column(CHAR(30))
    BugTitle = Column(VARCHAR(255))
    BugCompany = Column(VARCHAR(255))
    BugAuthor = Column(VARCHAR(255))
    SubmitTime = Column(DATETIME())
    OpenTime = Column(DATETIME())
    BugType = Column(VARCHAR(255))
    BugLevel = Column(VARCHAR(255))
    BugDescribe = Column(TEXT())
    BugState = Column(TEXT())
    BugProve = Column(TEXT())
    BugPatch = Column(TEXT())
    Attention = Column(INTEGER(11))
    Collect = Column(INTEGER(11))
    ReplyType = Column(VARCHAR(255))
    ReplyRank = Column(INTEGER(11))
    ReplyTime = Column(DATETIME(255))
    ReplyDetails = Column(TEXT())
    ReplyNew = Column(TEXT())
Exemplo n.º 28
0
class GopDatabase(TableBase):
    database_id = sa.Column(INTEGER(unsigned=True),
                            nullable=False,
                            primary_key=True,
                            autoincrement=True)
    #  local, record, cloud.aliyun, cloud.qcloud
    impl = sa.Column(VARCHAR(64), default=None, nullable=False)
    # database type, mysql or redis
    dbtype = sa.Column(VARCHAR(64), default='mysql', nullable=False)
    dbversion = sa.Column(VARCHAR(64), default=None, nullable=True)
    reflection_id = sa.Column(VARCHAR(128), nullable=False)
    user = sa.Column(VARCHAR(64), default=None, nullable=False)
    # passwd none means database can not be control
    passwd = sa.Column(VARCHAR(128), default=None, nullable=True)
    status = sa.Column(TINYINT, default=common.UNACTIVE, nullable=False)
    # bitwise operation for affinity
    affinity = sa.Column(TINYINT, default=0, nullable=False)
    # 0 means a master database
    slave = sa.Column(TINYINT(unsigned=True), default=0, nullable=False)
    desc = sa.Column(VARCHAR(256), nullable=True)
    slaves = orm.relationship(GopSalveRelation,
                              lazy='select',
                              cascade='delete,delete-orphan')
    schemas = orm.relationship(GopSchema,
                               backref='database',
                               lazy='select',
                               cascade='delete,delete-orphan')
    quotes = orm.relationship(SchemaQuote,
                              backref='database',
                              lazy='select',
                              cascade='delete,delete-orphan')
    __table_args__ = (sa.Index('impl_index', impl),
                      sa.UniqueConstraint('impl',
                                          'reflection_id',
                                          name='unique_reflection'),
                      InnoDBTableBase.__table_args__)
Exemplo n.º 29
0
class User(db.Model):
    __tablename__ = 'User'
    __table_args__ = {
        'mysql_engine': 'InnoDB',
        'mysql_charset': 'utf8',
        'extend_existing': True
    }

    id = db.Column(BIGINT(20, unsigned=True), primary_key=True, index=True)

    name = db.Column(VARCHAR(128))

    username = db.Column(VARCHAR(128), unique=True)

    email = db.Column(VARCHAR(128))

    phone = db.Column(VARCHAR(20))

    password = db.Column(VARCHAR(128))

    birthday = db.Column(DATETIME())

    joinDate = db.Column(DATETIME())

    authority = db.Column(VARCHAR(20))

    def as_dict(self):
        dict = {}
        for c in self.__table__.columns:
            if c.name == "password":
                continue
            if c.name == "birthday":
                tmp = getattr(self, c.name).strftime("%Y-%m-%d")
                dict[c.name] = tmp
            else:
                if c.name == "joinDate":
                    tmp = getattr(self, c.name).__str__()
                    dict[c.name] = tmp
                else:
                    dict[c.name] = getattr(self, c.name)
        return dict
Exemplo n.º 30
0
class Device(Base):
    __tablename__ = 'device'

    id = Column(INTEGER(display_width=10), primary_key=True)
    name = Column(VARCHAR(length=50))
    type = Column(VARCHAR(length=50))
    company = Column(VARCHAR(length=50))
    model = Column(VARCHAR(length=50))
    sn = Column(VARCHAR(length=50))
    version = Column(VARCHAR(length=50))
    status = Column(ENUM('normal', 'abnormal'))
    updated_at = Column(TIMESTAMP, nullable=False)
    created_at = Column(TIMESTAMP, nullable=False)
    deleted_at = Column(TIMESTAMP, nullable=True)

    station_id = Column(INTEGER(display_width=10), ForeignKey('station.id'))
    station = relationship('Station', back_populates='devices')

    device_configs = relationship('Device_config', back_populates='device')

    device_datas = relationship('Device_data', back_populates='device')