Exemplo n.º 1
0
class UserVideoInfo(Base):
    __tablename__ = 'user_video_info'

    id = Column(INTEGER(11),
                primary_key=True,
                autoincrement=True,
                comment='主键ID')
    mid = Column(VARCHAR(100), default='', comment='用户ID')
    bvid = Column(VARCHAR(100), default='', comment='视频ID')
    video_url = Column(VARCHAR(500), default='', comment='视频URL')
    video_source_url = Column(VARCHAR(500), default='', comment='视频图片URL')
    video_title = Column(VARCHAR(100), default='', comment='标题')
    video_reply = Column(VARCHAR(50), default='', comment='评论数')
    video_favorite = Column(VARCHAR(50), default='', comment='收藏数')
    video_ctime = Column(DATETIME, default=0, comment='发布时间')

    def __str__(self):
        return str(self.__dict__)
Exemplo n.º 2
0
class CustomerOrderDtl(Base):
    __tablename__ = 'customer_order_dtls'

    order_id = Column(String(45))
    user_id = Column(String(45))
    product_type = Column(String(45))
    prod_sub_type = Column(String(45))
    category_type = Column(String(45))
    brand_name = Column(String(45))
    catalog_number = Column(String(45))
    design_no = Column(String(45))
    sahde_no = Column(String(45))
    photo = Column(String(45))
    delivery_date = Column(String(45))
    message = Column(String(45))
    is_invidulaystiched = Column(String(45))
    total_count = Column(String(45))
    id = Column(INTEGER(11), primary_key=True)
Exemplo n.º 3
0
class CobraProjects(db.Model):
    """
    Projects for all
    """
    __tablename__ = 'projects'
    __table_args__ = ({"mysql_charset": "utf8mb4"})

    id = db.Column(INTEGER(unsigned=True), primary_key=True, autoincrement=True, nullable=False)
    repository = db.Column(db.String(512), nullable=False, default=None)
    url = db.Column(db.String(512), nullable=False, default=None)
    name = db.Column(db.String(50), nullable=False, default=None)
    author = db.Column(db.String(50), nullable=False, default=None)
    framework = db.Column(db.String(32), nullable=False, default=None)
    pe = db.Column(db.String(32), nullable=False, default=None)
    remark = db.Column(db.String(512), nullable=False, default=None)
    status = db.Column(TINYINT, nullable=False, default=1)
    last_scan = db.Column(db.DateTime, nullable=False, default=None)
    created_at = db.Column(db.DateTime, nullable=False, default=None)
    updated_at = db.Column(db.DateTime, nullable=False, default=None)

    def __init__(self, repository, url, name, author, framework, pe, remark, status, last_scan, created_at=None, updated_at=None):
        self.repository = repository
        self.url = url
        self.name = name
        self.author = author
        self.framework = framework
        self.pe = pe
        self.remark = remark
        self.status = status
        self.last_scan = last_scan
        self.created_at = created_at
        self.updated_at = updated_at
        current_time = time.strftime('%Y-%m-%d %X', time.localtime())
        if created_at is None:
            self.created_at = current_time
        else:
            self.created_at = created_at
        if updated_at is None:
            self.updated_at = current_time
        else:
            self.updated_at = updated_at

    def __repr__(self):
        return "<CobraProjects %r - %r>" % (self.id, self.name)
Exemplo n.º 4
0
class Task(Base):
    __tablename__ = 'task'
    id = Column(
        'id',
        INTEGER(unsigned=True),
        primary_key=True,
        autoincrement=True,
    )
    user_id = Column('user_id', ForeignKey('user.id'))
    content = Column('content', String(256))
    deadline = Column(
        'deadline',
        DateTime,
        default=None,
        nullable=False,
    )
    date = Column(
        'date',
        DateTime,
        default=datetime.now(),
        nullable=False,
        server_default=current_timestamp(),
    )
    done = Column('done', BOOLEAN, default=False, nullable=False)

    def __init__(self,
                 user_id: int,
                 content: str,
                 deadline: datetime,
                 date: datetime = datetime.now()):
        self.user_id = user_id
        self.content = content
        self.deadline = deadline
        self.date = date
        self.done = False

    #デバッグ用
    def __str__(self):
        return str(self.id) + \
            ':user_id ->' + str(self.user_id) + \
            ', content ->' + self.content + \
            ',deadline ->' + self.deadline.strftime('%Y/%m/%d - %H:%M:%S') + \
            ', date -> ' + self.date.strftime('%Y/%m/%d - %H:%M:%S') + \
            ', done -> ' + str(self.done)
Exemplo n.º 5
0
class RawFlightLeg(Base, DBModel):
    __tablename__ = 'RawFlightLegs'

    rawFlightLegsId = Column(String(100), primary_key=True)
    legId = Column(String(100))
    segmentsIds = Column(Text)
    originStation = Column(String(100))
    destinationStation = Column(String(100))
    departureDatetime = Column(DateTime)
    arrivalDatetime = Column(DateTime)
    duration = Column(INTEGER(11))
    journeyMode = Column(String(100))
    stops = Column(Text)
    carriers = Column(Text)
    operatingCarriers = Column(Text)
    directionality = Column(String(100))
    flightNumbers = Column(Text)
    writeDate = Column(DateTime)
    apiCallId = Column(String(100))

    def __init__(self, Id, SegmentIds, OriginStation, DestinationStation,
                 Departure, Arrival, Duration, JourneyMode, Stops, Carriers,
                 OperatingCarriers, Directionality, FlightNumbers, apiCallId):

        # prefix는 table명 첫글자 소문자화
        self.prefix = self.__tablename__[0].lower() + self.__tablename__[1:]

        self.rawFlightLegsId = self.makeId(self.prefix)
        self.legId = str(Id)
        self.segmentsIds = str(SegmentIds)
        self.originStation = str(OriginStation)
        self.destinationStation = str(DestinationStation)
        self.departureDatetime = datetime.strptime(Departure,
                                                   '%Y-%m-%dT%H:%M:%S')
        self.arrivalDatetime = datetime.strptime(Arrival, '%Y-%m-%dT%H:%M:%S')
        self.duration = int(Duration)
        self.journeyMode = str(JourneyMode)
        self.stops = str(Stops)
        self.carriers = str(Carriers)
        self.operatingCarriers = str(OperatingCarriers)
        self.directionality = str(Directionality)
        self.flightNumbers = str(FlightNumbers)
        self.writeDate = datetime.now()
        self.apiCallId = apiCallId
Exemplo n.º 6
0
class Industry(Base):
    __tablename__ = 'industry'

    id = Column(INTEGER(11), primary_key=True)
    cat_id = Column(INTEGER(11))
    name = Column(String(20), server_default=text("''"))
    en_name = Column(String(20))
    link = Column(String(200))
    cus_list_link = Column(String(200))
    all_page_num = Column(INTEGER(11))
    current_page_num = Column(INTEGER(11))
    created_at = Column(INTEGER(11))
    updated_at = Column(INTEGER(11))
Exemplo n.º 7
0
class User(Base):
    __tablename__ = 'user'

    id = Column(String(255), primary_key=True, server_default=text("''"))
    name = Column(String(255))
    username = Column(String(255), index=True)
    password = Column(String(255))
    email = Column(String(255))
    phone = Column(String(255))
    company_id = Column(String(255), index=True)
    role_id = Column(String(255), index=True)
    created_at = Column(DateTime)
    updated_at = Column(DateTime)
    _del = Column('del', TINYINT(4), server_default=text("'0'"))
    url = Column(String(255))
    job = Column(String(255))
    platform = Column(INTEGER(11))
    area_id = Column(String(255))

    # 加密密码
    def hash_password(self, password):
        self.password = pwd_context.encrypt(password)

    # 校验密码
    def verify_password(self, password):
        return pwd_context.verify(password, self.password)

    # 生成token
    def generate_auth_token(self, expiration=6000):
        s = Serializer(app.config['SECRET_KEY'], expires_in=expiration)
        return s.dumps({'id': self.id})

    # 验证token
    @staticmethod
    def verify_auth_token(token):
        s = Serializer(app.config['SECRET_KEY'])
        try:
            data = s.loads(token)
        except SignatureExpired:
            return None
        except BadSignature:
            return None
        user = User.query.get(data['id'])
        return user
Exemplo n.º 8
0
class M_Medias(Base):
    __tablename__ = 'medias'

    media_no = Column(INTEGER, primary_key=True, index=True, doc='歌曲编号')
    media_name = Column(VARCHAR(200), nullable=False, doc='歌曲名称')
    media_namelen = Column(TINYINT, nullable=False, doc='歌曲名称长度')
    media_langtype = Column(TINYINT(4), nullable=True, doc='(歌曲语言类型) 用于显示歌曲信息,字幕时选择字库文件.0: 中文,1韩文,2日文')
    media_langid = Column(INTEGER(11), nullable=True, doc='歌曲语言ID')
    media_lang = Column(VARCHAR(32), nullable=True, doc='歌曲语言')
    media_tag1 = Column(VARCHAR(128), nullable=True, doc='歌曲3D分类')
    media_tag2 = Column(VARCHAR(128), nullable=True, doc='歌曲3D分类')
    media_actname1 = Column(VARCHAR(128), nullable=True, doc='歌星信息(全部)')
    media_actname2 = Column(VARCHAR(128), nullable=True, doc='歌星信息(全部)')
    media_actname3 = Column(VARCHAR(128), nullable=True, doc='歌星信息(全部)')
    media_actname4 = Column(VARCHAR(128), nullable=True, doc='歌星信息(全部)')
    media_carria = Column(VARCHAR(32), nullable=True, doc='歌曲载体类型(DVD,MP3等)')
    media_yuan = Column(TINYINT, nullable=False, server_default='1', doc='原唱')
    media_ban = Column(TINYINT, nullable=False, server_default='2', doc='伴唱')
    media_svrgroup = Column(TINYINT, nullable=False, server_default='1', doc='文件所在服务器组:1-主组,2-从组')
    media_file = Column(VARCHAR(256), nullable=True, doc='文件路径(文件名)')
    media_style = Column(TINYINT, nullable=True, doc='视频风格类型: 0-MV 1-现场版 2-流水影')
    media_audio = Column(VARCHAR(32), nullable=True, doc='音频类型(mpeg)')
    media_volume = Column(TINYINT, nullable=True, doc='音量')
    media_jp = Column(VARCHAR(32), nullable=True, doc='简拼')
    media_py = Column(VARCHAR(256), nullable=True, doc='拼音')
    media_strok = Column(TINYINT, nullable=True, doc='笔画数')
    media_stroks = Column(VARCHAR(64), nullable=True, doc='笔划序列')
    media_lyric = Column(VARCHAR(512), nullable=True, doc='歌词,用于搜吧搜索')
    media_isnew = Column(TINYINT, nullable=True, doc='是否新歌')
    media_clickm = Column(INTEGER, nullable=False, server_default='0', doc='月点击量')
    media_clickw = Column(INTEGER, nullable=False, server_default='0', doc='周点击量')
    media_click = Column(INTEGER, nullable=False, server_default='0', doc='总点击量')
    media_type = Column(TINYINT, nullable=False, doc='类型,1: 歌曲|2: 广告|3: 电影')
    media_stars = Column(TINYINT(4), nullable=False, doc = 'star_level, 歌曲热度设定')
    media_actno1 = Column(INTEGER, nullable=True, doc='歌星1 编号')
    media_actno2 = Column(INTEGER, nullable=True, doc='歌星2 编号')
    media_actno3 = Column(INTEGER, nullable=True, doc='歌星3 编号')
    media_actno4 = Column(INTEGER, nullable=True, doc='歌星4 编号')
    media_dafen = Column(TINYINT, nullable=False, server_default='0', doc='该歌曲是否支持打分')
    media_climax = Column(TINYINT, nullable=False, server_default='0', doc='该歌曲是否有高潮信息')
    media_climaxinfo = Column(VARCHAR(256), nullable=True, doc='该歌曲的高潮信息')
    media_yinyi = Column(TINYINT, nullable=False, server_default='0', doc='该歌曲是否有音译信息')
    media_light = Column(INTEGER, nullable=False, server_default='0', doc='灯光设置')
    media_newadd = Column(TINYINT, nullable=False, server_default='0', doc='用于清除空纪录使用')
Exemplo n.º 9
0
class ImplantCommands(Base):
    __tablename__ = 'implant_commands'
    log_id = Column(INTEGER(11), nullable=False, index=True, primary_key=True)
    cid = Column(INTEGER(11), nullable=False, index=True)
    uid = Column(INTEGER(11), nullable=False, index=True)
    uik = Column(INTEGER(11), nullable=False, index=True)
    time = Column(INTEGER(11), nullable=False, index=True)
    log_entry = Column(TextPickleType(), nullable=False)
    read_by_implant = Column(INTEGER(16),
                             nullable=False,
                             server_default=text("0"))
    c2_protocol = Column(String(128))
    command_id = Column(String(128))
Exemplo n.º 10
0
class Bucket(Base):
    # table name
    __tablename__ = 'buckets'
    __table_args__ = ({'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8mb4'})

    # columns
    id = Column('id',
                INTEGER(unsigned=True),
                primary_key=True,
                autoincrement=True)
    user_id = Column('user_id', String(16), nullable=False)
    name = Column('name', String(32), nullable=False)
    region = Column('region',
                    String(16),
                    ForeignKey('regions.name'),
                    nullable=False)
    created_at = Column('created_at',
                        DATETIME(fsp=6),
                        nullable=False,
                        server_default=text('CURRENT_TIMESTAMP(6)'))
    updated_at = Column(
        'updated_at',
        DATETIME(fsp=6),
        nullable=False,
        server_default=text(
            'CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6)'))
    deleted_at = Column('deleted_at', DATETIME(fsp=6), nullable=False)
    object = relationship('Object', backref='bucket')  # One To Many
    UniqueConstraint('user_id',
                     'name',
                     'region',
                     'deleted_at',
                     name='unq_bucket_user_id_name_region')

    def serialize(self):
        return {
            'id': self.id,
            'user_id': self.user_id,
            'name': self.name,
            'region': self.region,
            'created_at': self.created_at,
            'updated_at': self.updated_at,
            'deleted_at': self.deleted_at
        }
Exemplo n.º 11
0
class QiInfoMapRule(Base):
    __tablename__ = 'qi_info_map_rule'

    insert_time = Column(INTEGER(11))
    is_deleted = Column(SMALLINT(6),
                        nullable=False,
                        server_default=text("'0'"))
    id = Column(INTEGER(11), primary_key=True)
    template_id = Column(INTEGER(11), nullable=False)
    template_name = Column(VARCHAR(50), nullable=False)
    rule_type = Column(INTEGER(11), nullable=False)
    rule_type_name = Column(VARCHAR(50), nullable=False)
    rule_id = Column(INTEGER(11), nullable=False)
    rule_name = Column(VARCHAR(50), nullable=False)
    rule_score = Column(INTEGER(11), nullable=False)
    show_desc = Column(String(255), nullable=False)
    warning_id = Column(INTEGER(11), server_default=text("'0'"))
Exemplo n.º 12
0
class UserMeal(ModelBase):
    """用户设备信息"""

    __tablename__ = 'user_meal'

    id = Column(INTEGER(11), primary_key=True)
    uid = Column(INTEGER(11))
    starttime = Column(DATETIME)
    endtime = Column(DATETIME)
    utype = Column(INTEGER(11))
    addtime = Column(DATETIME)
    details = Column(VARCHAR(1024))
    state = Column(INTEGER(11))
    totals = Column(INTEGER(11))
    lasttotal = Column(INTEGER(11))
    mealid = Column(INTEGER(11))
    tradeno = Column(VARCHAR(64))
Exemplo n.º 13
0
class User(DbBase):
    __tablename__ = 'user'
    attributes = ['id', 'name', 'addresses', 'phonenums']
    detail_attributes = attributes
    summary_attributes = ['name']

    id = Column(INTEGER(11), primary_key=True, autoincrement=True)
    name = Column(String(255), nullable=False)

    # 只是方便引用,写在那边无所谓,单方引用
    addresses = relationship(u'Address', back_populates=u'user', lazy=False, uselist=True, viewonly=True)
    phonenums = relationship(u'PhoneNum', back_populates=u'user', lazy=False, uselist=True, viewonly=True)
    # lazy=False,一次性加载出来phonenums的值,这样就可以让信息在一次sql查询中加载出来,而不是每次访问外键属性再发起一次查询。问题在于,lazy=False时sql被组合为一个SQL语句,relationship每级嵌套会被展开,实际数据库查询结果将是乘数级
    # uselist=False,addresses=add1可以插入,但为True的话,报错:not list-like
    # uselist=True, 必须以列表的形式添加: user1.phonenums = [phn1, phn2]


    def __repr__(self):
        return "<User(id={},name={},addresses={},phonenums={})>".format(self.id,self.name, self.addresses, self.phonenums)
Exemplo n.º 14
0
class Ligand(db.Model):
    __tablename__ = 'zincLigands'
    zincID = Column(INTEGER(unsigned=True),
                    primary_key=True,
                    autoincrement=False)

    protID = Column(Integer)

    #name = Column(String)
    smiles = Column(Text)
    InChI = Column(Text)

    weight = Column(Float)
    ph = Column(Integer)
    charge = Column(Integer)
    logP = Column(Float)

    trancheName = Column(String(6))
    '''
class RuangPrestasiModel(db.Model):
    """
  +----------+--------------+------+-----+---------+----------------+
  | Field    | Type         | Null | Key | Default | Extra          |
  +----------+--------------+------+-----+---------+----------------+
  | id       | int unsigned | NO   | PRI | NULL    | auto_increment |
  | nama     | varchar(255) | YES  |     | NULL    |                |
  | jurusan  | varchar(255) | YES  |     | NULL    |                |
  | angkatan | varchar(255) | YES  |     | NULL    |                |
  | prestasi | varchar(255) | NO   |     | NULL    |                |
  +----------+--------------+------+-----+---------+----------------+
  """
    __tablename__ = "ruang_prestasi"

    id = Column(INTEGER(unsigned=True), primary_key=True)
    nama = Column(String(255))
    jurusan = Column(String(255))
    angkatan = Column(String(255))
    prestasi = Column(String(255), nullable=False)
class Transaction(BASE):
    __tablename__ = 'transaction'

    transaction_time = Column(TIMESTAMP, default=datetime.now(), nullable=False)
    item_id = Column(String(100), nullable=False)
    customer_id = Column(INTEGER, nullable=False)
    quantity = Column(INTEGER(unsigned=True), nullable=False)

    customer = relationship("Customer", backref=backref('transaction'))

    __table_args__ = (
        PrimaryKeyConstraint('transaction_time', 'item_id', 'customer_id', name='PRIMARY'),
        ForeignKeyConstraint(['customer_id'],['customer.customer_id']))

    def __init__(self, item_id, customer_id, quantity):
        #self.transaction_time = transaction_time
        self.item_id = item_id
        self.customer_id = customer_id
        self.quantity = quantity
Exemplo n.º 17
0
class CreditCards(BASE):
    """Class defining the mdl_creditcard table of the database."""

    __tablename__ = 'mdl_creditcards'
    __table_args__ = ({'mysql_engine': 'InnoDB'})

    idx_creditcard = Column(BIGINT(unsigned=True),
                            primary_key=True,
                            autoincrement=True,
                            nullable=False)

    enabled = Column(INTEGER(unsigned=True), server_default='1')

    ts_modified = Column(
        DATETIME,
        server_default=text('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'),
    )

    ts_created = Column(DATETIME, server_default=text('CURRENT_TIMESTAMP'))
Exemplo n.º 18
0
class Test(Base):  # 必须继承于declarative_base的实例
    # 注:有的数据库有自己特殊的字段类型,在sqlclchemy中被称为方言,这些方言字段都在sqlalchemy.dialects中

    # 定义表名(必须定义)
    __tablename__ = 'test'

    # 定义字段
    # id字段,int型,主键,自增,主键是必须的
    id = Column(Integer, primary_key=True, autoincrement=True)

    # name字段,varchar型,48位,不许为空,唯一约束
    name = Column(String(64), nullable=False, unique=True)

    # nick_name字段,varchar型,48位,索引
    nick_name = Column(String(64), index=True)

    # date字段,datetime型,根据生成行的时间自动添加时间,在更新时会自动更新时间
    from datetime import datetime
    date = Column(DateTime, default=datetime.now, onupdate=datetime.now)
    # 还可以自定义字段名,这个字段的默认值是创建这个表的时间(所有的行都是这个时间)
    date2 = Column(DateTime, name='new_date', default=datetime.now())

    # content字段,Text型,默认值1234,server_default是设置在表上的默认值
    from sqlalchemy import text
    content = Column(Text, server_default=text('1234'))

    # deleted字段,布尔型,默认为0(布尔字段设置默认值方法比较特殊)
    deleted = Column(Boolean, default=False, server_default=text('0'))

    # 复合约束和索引
    from sqlalchemy import UniqueConstraint, Index
    __table_args__ = (
        UniqueConstraint('id', 'name', name='id_name'),  # 联合唯一键约束
        Index('name', 'nick_name', 'date')  # 联合索引,符合最左原则
    )

    # 其他的方言字段
    from sqlalchemy.dialects.mysql import LONGTEXT, TINYINT, INTEGER  # mysql的方言(还有好多)
    integer = Column(INTEGER(unsigned=True))  # 无符号整数
    from sqlalchemy.dialects.oracle import DATE  # oracle的方言(还有别的数据库的方言都在dialects中)

    # 如果表中的字段名和python的名词空间有冲突, 则可以改字段名
    _import = Column(String(64), name='import')
Exemplo n.º 19
0
class Project(db.Model):
    __tablename__ = 'project'

    id = Column(INTEGER(10), primary_key=True)
    user_id = Column(ForeignKey('user.id'), nullable=False, index=True)
    container_name = Column(String(191))
    name = Column(String(191), nullable=False)
    description = Column(String(191), nullable=False)
    image_tag = Column(String(191), nullable=False)
    cpu = Column(String(191), nullable=False)
    memory = Column(String(191), nullable=False)
    storage = Column(String(191), nullable=False)
    is_custom = Column(BOOLEAN, nullable=False)
    port = Column(String(191))

    user = relationship('User')

    def as_dict(self):
        return {c.name: getattr(self, c.name) for c in self.__table__.columns}