コード例 #1
0
ファイル: models.py プロジェクト: JiehuiSun/DataTools
class RequirementModel(db.Model):
    """
    需求
    """
    __tablename__ = "requirement_model"

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(128), nullable=False, comment="项目名")
    comments = db.Column(db.String(128), nullable=True, comment="备注")
    user_mail_list = db.Column(db.Text, nullable=False, comment="用户邮箱")
    # sqls = db.relationship('SQLModel', backref='project', lazy='dynamic')
    # tasks = db.relationship('TasksModel', backref='project', lazy='dynamic')
    task_type_id = db.Column(db.ForeignKey("task_type_model.id"))
    task_type = db.relationship('TaskTypeModel',
                                backref=db.backref('requirement_model',
                                                   lazy='dynamic'))
    is_deleted = db.Column(db.Boolean, default=False)
    dt_create = db.Column(db.DateTime, default=time_utils.now_dt)
    dt_update = db.Column(db.DateTime,
                          default=time_utils.now_dt,
                          onupdate=time_utils.now_dt)

    def __repr__(self):
        return self.name

    def __str__(self):
        return self.name
コード例 #2
0
ファイル: proxy.py プロジェクト: mouxiaoyi/redis-ctl
class Proxy(Base):
    __tablename__ = 'proxy'

    host = db.Column(db.String(255), nullable=False)
    port = db.Column(db.Integer, nullable=False)
    eru_container_id = db.Column(db.String(64), index=True)
    cluster_id = db.Column(db.ForeignKey(Cluster.id), index=True)
    suppress_alert = db.Column(db.Integer, nullable=False, default=1)

    __table_args__ = (db.Index('address', 'host', 'port', unique=True), )

    @cached_property
    def eru_deployed(self):
        return self.eru_container_id is not None

    @cached_property
    def eru_info(self):
        import eru_utils
        if eru_utils.eru_client is None or not self.eru_deployed:
            return None
        return eru_utils.eru_client.get_container(self.eru_container_id)

    @cached_property
    def cluster(self):
        return Cluster.query.get(self.cluster_id)
コード例 #3
0
ファイル: models.py プロジェクト: JiehuiSun/DataTools
class SQLModel(db.Model):
    """
    sql
    """
    __tablename__ = "sql_model"

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(128), nullable=False, comment="SQL名")
    project_id = db.Column(db.ForeignKey("requirement_model.id"))
    project = db.relationship('RequirementModel',
                              backref=db.backref('sql_model', lazy='dynamic'))
    database_id = db.Column(db.ForeignKey("database_model.id"))
    database = db.relationship('DatabaseModel',
                               backref=db.backref('sql_model', lazy='dynamic'))
    content = db.Column(db.Text, nullable=False, comment="sql语句")
    special_field = db.Column(db.String(64), nullable=False, comment="特殊字段")
    parent_id = db.Column(db.Integer, db.ForeignKey("sql_model.id"))
    parent = db.relationship("SQLModel", remote_side=[id])
    parent_field = db.Column(db.String(64), nullable=False, comment="父字段")
    is_deleted = db.Column(db.Boolean, default=False)
    dt_create = db.Column(db.DateTime, default=time_utils.now_dt)
    dt_update = db.Column(db.DateTime,
                          default=time_utils.now_dt,
                          onupdate=time_utils.now_dt)

    def __repr__(self):
        return self.name

    def __str__(self):
        return self.name
コード例 #4
0
class BuyRankings(db.Model):
    """ 购买排行(用于书籍排行) """
    __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}
    
    id = db.Column(db.Integer(), primary_key=True)  # ID
    book_id = db.Column(db.Integer(), index=True)  # 书籍ID
    book_name = db.Column(db.String(100))  # 书籍名称
    channel_type = db.Column(db.SmallInteger(), index=True) #1男2女
    author_name = db.Column(db.String(50))#作者
    is_publish = db.Column(db.Integer())  # 是否出版(1:是;2:否)
    status = db.Column(db.Integer())# 连载状态(1:已完结;2:未完结)
    created = db.Column(db.DateTime)  # 创建时间
    buy_num = db.Column(db.Integer()) #购买次数
    book_time = db.Column(db.DateTime)  # 创建时间

    
    def __init__(self, book_id, channel_type, author_name, is_publish, status, created, buy_num, book_name, book_time):
        self.book_id = book_id
        self.channel_type = channel_type
        self.author_name = author_name
        self.is_publish = is_publish
        self.status = status
        self.created = created
        self.buy_num = buy_num
        self.book_name = book_name
        self.book_time = book_time
コード例 #5
0
ファイル: models.py プロジェクト: JiehuiSun/DataTools
class TaskTypeModel(db.Model):
    """
    任务类型
    """
    __tablename__ = "task_type_model"

    type_dict = {
        1: "单sql",
        2: "多sql-o2o",
        3: "多sql-o2m",
        4: "多sql-m2m",
    }

    id = db.Column(db.Integer, primary_key=True)
    type_id = db.Column(db.Integer, nullable=False, default=1, comment="类型ID")
    name = db.Column(db.String(128), nullable=False, comment="类型名")
    comments = db.Column(db.String(128), nullable=True, comment="备注")
    is_deleted = db.Column(db.Boolean, default=False)
    dt_create = db.Column(db.DateTime, default=time_utils.now_dt)
    dt_update = db.Column(db.DateTime,
                          default=time_utils.now_dt,
                          onupdate=time_utils.now_dt)

    def __str__(self):
        return self.name
コード例 #6
0
ファイル: user.py プロジェクト: yancong001/fundonebot
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    login = db.Column(db.String(80), unique=True)
    password = db.Column(db.String(128))
    last_login = db.Column(db.String(64))

    def update_login_time(self):
        self.last_login = datetime.utcnow().isoformat(timespec='seconds') + 'Z'

        db.session.commit()

    @property
    def is_authenticated(self):
        return True

    @property
    def is_active(self):
        return True

    @property
    def is_anonymous(self):
        return False

    def get_id(self):
        return self.id

    def __unicode__(self):
        return self.username
コード例 #7
0
ファイル: proxy.py プロジェクト: vanderw/redis-ctl
class Proxy(Base):
    __tablename__ = 'proxy'

    host = db.Column(db.String(255), nullable=False)
    port = db.Column(db.Integer, nullable=False)
    eru_container_id = db.Column(db.String(64), index=True)
    cluster_id = db.Column(db.ForeignKey(Cluster.id), index=True)
    suppress_alert = db.Column(db.Integer, nullable=False, default=1)
    proxy_type = db.Column(db.Integer, nullable=False, default=0)

    __table_args__ = (db.Index('address', 'host', 'port', unique=True), )

    @cached_property
    def containerized(self):
        return self.eru_container_id is not None

    @cached_property
    def container_info(self):
        from flask import g
        if g.container_client is None or not self.containerized:
            return None
        return g.container_client.get_container(self.eru_container_id)

    @cached_property
    def cluster(self):
        return Cluster.query.get(self.cluster_id)

    def proxy_typename(self):
        if self.proxy_type == TYPE_CERBERUS:
            return 'Cerberus'
        elif self.proxy_type == TYPE_CORVUS:
            return 'Corvus'
        else:
            return 'Unknow'
コード例 #8
0
ファイル: models.py プロジェクト: davedavis/base
class User(db.Model, UserMixin):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)
    bookmarks = db.relationship('Bookmark', backref='user', lazy='dynamic')
    password_hash = db.Column(db.String(256))

    @property
    def password(self):
        raise AttributeError('Password: Write Only Field. Check the models file if you are unsure')

    @password.setter
    def password(self, password):
        self.password_hash = generate_password_hash(password)

    def check_password(self, password):
        return check_password_hash(self.password_hash, password)

    @staticmethod
    def get_by_username(username):
        return User.query.filter_by(username=username).first()

    # ToDo: Add a get_userid_by_user

    def __repr__(self):
        return '<User %r>' % self.username
コード例 #9
0
class User(db.Model, UserMixin):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(64), unique=True, index=True, nullable=False)
    username = db.Column(db.String(64),
                         unique=True,
                         index=True,
                         nullable=False)
    password = db.Column(db.String(128), nullable=False)
    pic = db.Column(db.String(20), nullable=False, default='default.jpg')
    post_ids = db.relationship('Post', backref='author', lazy=True)

    def create_post(self, vals):
        post = Post(
            title=vals.get('title'),
            url=vals.get('url'),
            description=vals.get('description'),
            user_id=self.id,
            channel_id=vals.get('channel'),
        )
        return post

    def create_channel(self, vals):
        channel = Post(
            title=vals.get('title'),
            description=vals.get('description'),
            admin_id=self.id,
        )
        return channel

    def __repr__(self):
        return f"User('{self.username}', '{self.email}', '{self.image_file}')"
コード例 #10
0
ファイル: raspnagr.py プロジェクト: SevenLines/university-map
class Teacher(db.Model):
    __tablename__ = "prepods"
    id = db.Column('id_61', db.Integer, primary_key=True)
    full_name = db.Column('prep', db.String(100))
    name = db.Column('preps', db.String(50))

    raspnagr = db.relationship('Raspnagr', backref=db.backref('teacher', lazy='joined'), lazy='dynamic')
コード例 #11
0
ファイル: raspnagr.py プロジェクト: SevenLines/university-map
class Discipline(db.Model):
    __tablename__ = "vacpred"
    id = db.Column('id_15', db.Integer, primary_key=True)
    title = db.Column("pred", db.String(250))
    titles = db.Column("preds", db.String(250))

    raspnagr = db.relationship('Raspnagr', backref=db.backref('discipline', lazy='joined'), lazy='dynamic')
コード例 #12
0
class RedisNode(Base):
    __tablename__ = 'redis_node'

    host = db.Column(db.String(255), nullable=False)
    port = db.Column(db.Integer, nullable=False)
    eru_container_id = db.Column(db.String(64), index=True)
    assignee_id = db.Column(db.ForeignKey(Cluster.id), index=True)
    suppress_alert = db.Column(db.Integer, nullable=False, default=1)

    __table_args__ = (db.Index('address', 'host', 'port', unique=True), )

    def free(self):
        return self.assignee_id is None

    @cached_property
    def eru_deployed(self):
        return self.eru_container_id is not None

    @cached_property
    def eru_info(self):
        import eru_utils
        if eru_utils.eru_client is None or not self.eru_deployed:
            return None
        try:
            return eru_utils.eru_client.get_container(self.eru_container_id)
        except EruException as e:
            logging.exception(e)
            return {
                'version': '-',
                'host': '-',
                'created': 'CONTAINER NOT ALIVE',
            }
コード例 #13
0
ファイル: raspnagr.py プロジェクト: SevenLines/university-map
class Kontkurs(db.Model):
    id = db.Column('id_1', db.Integer, primary_key=True)
    title = db.Column("obozn")
    shup = db.Column(db.Integer)
    spclntion = db.Column(db.Integer)
    kurs = db.Column(db.Integer)
    fil = db.Column(db.Integer)
    fac_id = db.Column("fac", db.Integer, db.ForeignKey('vacfac.id_5'))
    aobozn_id = db.Column("aobozn", db.Integer, db.ForeignKey('vacaobozn.id_6'))
    stud = db.Column(db.Integer)
    groups = db.Column(db.Integer)
    pgroups = db.Column(db.Integer)
    smenao = db.Column(db.Integer)
    smenav = db.Column(db.Integer)
    groupkey = db.Column(db.Integer)
    undoworksps = db.Column(db.String(250))
    anothernumstudsps = db.Column(db.String(250))
    newnumstud = db.Column(db.SmallInteger)
    ntcgraph = db.Column(db.SmallInteger)
    syear = db.Column(db.Integer)

    groupslist = db.relationship('Kontgrp', backref='kontkurs', lazy='joined')
    kontlist = db.relationship('Kontlist', backref='kontkurs', lazy='select')
    raspnagr = db.relationship("Raspnagr", backref=db.backref('kontkurs', lazy='select'))

    def __str__(self, *args, **kwargs):
        return "<Kontkurs: {}>".format(self.title.strip())

    def __repr__(self):
        return str(self)

    def get_title(self):
        return self.title.replace("(И,О)", "")
コード例 #14
0
ファイル: models.py プロジェクト: zxt50330/blogdemo
class Comment(Machine, db.Model):
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(80), nullable=False)
    content = db.Column(db.String(80), nullable=False)
    created = db.Column(db.DateTime, default=datetime.utcnow())
    post_id = db.Column(db.Integer, db.ForeignKey('post.id'), nullable=False)
    status = db.Column(db.String(80), nullable=False)

    def __init__(self, **kwargs):
        super(Comment, self).__init__(**kwargs)
        # 状态定义
        states = ['wait', 'pass', 'not pass']
        Machine.__init__(self, states=states, initial='wait')
        self.add_transition('review', 'wait', 'pass')
        self.status = 'wait'

        # Machine(self, states, transitions=transitions)

    def __repr__(self):
        return '<Comment %r>' % self.content

    def on_enter_pass(self):
        self.status = 'pass'
        db.session.commit()
        print('wait for u')
コード例 #15
0
class blogPost(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(50))
    subtitle = db.Column(db.String(50))
    author = db.Column(db.String(20))
    date_posted = db.Column(db.DateTime)
    content = db.Column(db.Text)
コード例 #16
0
ファイル: models.py プロジェクト: dhruvkp090/100daysofML
class FAQ(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    question = db.Column(db.String(128), index=True, unique=True)
    answer = db.Column(db.String(128))

    def __repr__(self):
        return '<Question {}>'.format(self.question)
コード例 #17
0
class BookCategory(db.Model):
    ''' 书籍分类信息 '''
    __table_args__ = {'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8'}

    cate_id = db.Column(db.Integer(), primary_key=True)  # 分类ID
    cate_name = db.Column(db.String(50))  # 分类名称
    parent_id = db.Column(db.Integer(), server_default='-1')  # 上级ID  1:男生, 2:出版, 3:女生
    showed = db.Column(db.Boolean(), server_default='1')
    icon = db.Column(db.String(100))
    created = db.Column(db.DateTime, server_default=func.now())  # 创建时间

    def __init__(self, cate_name, parent_id=-1):
        self.cate_name = cate_name
        self.parent_id = parent_id

    def to_dict(self):
        return dict(
            cate_id = self.cate_id,
            cate_name = self.cate_name,
            parent_id = self.parent_id,
            created = self.created.strftime('%Y-%m-%d %H:%M:%S')
        )

    def to_admin_dict(self):
        return dict(
            cate_id = self.cate_id,
            showed = 1 if self.showed else 0,
            cate_name = self.cate_name,
            parent_id = self.parent_id,
            icon = self.icon if self.icon else '',
            created = self.created.strftime('%Y-%m-%d %H:%M:%S')
        )
コード例 #18
0
ファイル: raspnagr.py プロジェクト: SevenLines/university-map
class Chair(db.Model):
    __tablename__ = "vackaf"
    id = db.Column('id_17', db.Integer, primary_key=True)
    title = db.Column("kaf", db.String(100))
    short_title = db.Column("sokr", db.String(10))

    raspnagr = db.relationship('Raspnagr', backref=db.backref('chair', lazy='joined'), lazy='dynamic')
コード例 #19
0
ファイル: models.py プロジェクト: giangle0411/packform-test
class Orders(db.Model):
    __tablename__ = 'orders'

    id = db.Column(db.Integer, primary_key=True)
    created_at = db.Column(db.Date)
    order_name = db.Column(db.String())
    customer_id = db.Column(db.String())
    order_items = db.relationship("Order_items")

    def __init__(self, created_at, order_name, customer_id):
        self.created_at = created_at
        self.order_name = order_name
        self.customer_id = customer_id

    def __repr__(self):
        return '<id {}>'.format(self.id)

    def serialize(self, customer={}):
        return {
            'id': self.id,
            'created_at': self.created_at,
            'order_name': self.order_name,
            'customer_id': self.customer_id,
            'order_items': [order_item.serialize() for order_item in self.order_items],
            'customer': customer
        }
コード例 #20
0
class Review(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(), nullable=False)
    email = db.Column(db.String(), nullable=False)
    message = db.Column(db.String(), nullable=False)
    apartment_id = db.Column(db.Integer, db.ForeignKey('apartment.id'))
    date_comment = db.Column(db.DateTime, nullable=False, default=datetime.now)
コード例 #21
0
class SmsCaptcha(db.Model):
    """ 验证码记录 """
    id = db.Column(db.Integer, primary_key=True)
    phone = db.Column(db.String(20))
    captcha = db.Column(db.String(10))
    action = db.Column(db.Integer) # 0 - unknown, 1 - register 2 - reset pwd
    created = db.Column(db.DateTime, server_default=func.now())
コード例 #22
0
class TriggerTarget(db.Model):
    __tablename__ = 'triggertargets'

    id = db.Column(db.Integer, primary_key=True)
    triggerID = db.Column(db.Integer, db.ForeignKey('triggers.id'))
    type = db.Column(db.Enum('email', 'sms'))
    address = db.Column(db.String(length=100))
    snsSubscription = db.Column(db.String(length=200))
コード例 #23
0
class House(db.Model):
    __tablename__ = 'House'

    id = db.Column(db.Integer, primary_key=True)
    adress = db.Column(db.String(200, 'utf8_bin'), nullable=False)
    photo = db.Column(db.String(200, 'utf8_bin'))
    name = db.Column(db.String(200, 'utf8_bin'), nullable=False)
    descr = db.Column(db.Text(collation='utf8_bin'), nullable=False)
コード例 #24
0
class Subreddit(db.Model):
    """
    """
    __tablename__ = 'subreddits_subreddit'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(SUBREDDIT.MAX_NAME), unique=True)
    group = db.Column(db.String(SUBREDDIT.MAX_NAME))

    description = db.Column(db.String(SUBREDDIT.MAX_DESCRIPTION))

    admin_id = db.Column(db.Integer, db.ForeignKey('users_user.id'))

    created_on = db.Column(db.DateTime, default=db.func.now())
    updated_on = db.Column(db.DateTime,
                           default=db.func.now(),
                           onupdate=db.func.now())

    threads = db.relationship('Thread', backref='subreddit', lazy='dynamic')
    status = db.Column(db.SmallInteger, default=SUBREDDIT.ALIVE)

    def __repr__(self):
        return '<Subreddit %r>' % (self.name)

    def get_threads(self, order_by='timestamp'):
        """
        default order by timestamp
        """
        if order_by == 'timestamp':
            return self.threads.order_by(db.desc(Thread.created_on)).\
                all()[:SUBREDDIT.MAX_THREADS]
        else:
            return self.threads.order_by(db.desc(Thread.created_on)).\
                all()[:SUBREDDIT.MAX_THREADS]

    def get_status(self):
        """
        returns string form of status, 0 = 'dead', 1 = 'alive'
        """
        return SUBREDDIT.STATUS[self.status]

    def get_age(self):
        """
        returns the raw age of this subreddit in seconds
        """
        return (self.created_on -
                datetime.datetime(1970, 1, 1)).total_seconds()

    def pretty_date(self, typeof='created'):
        """
        returns a humanized version of the raw age of this subreddit,
        eg: 34 minutes ago versus 2040 seconds ago.
        """
        if typeof == 'created':
            return utils.pretty_date(self.created_on)
        elif typeof == 'updated':
            return utils.pretty_date(self.updated_on)

    """
コード例 #25
0
class ContainerImage(Base):
    __tablename__ = 'cont_image'

    type = db.Column(db.Integer,
                     index=True,
                     default=TYPE_REDIS,
                     nullable=False)
    name = db.Column(db.String(255), nullable=False, index=True, unique=True)
    description = db.Column(db.String(255))
    creation = db.Column(db.DateTime)
コード例 #26
0
ファイル: models.py プロジェクト: zxt50330/blogdemo
class Post(db.Model, ModelTimeMixin):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(80), nullable=False)
    content = db.Column(db.String(80), nullable=False)
    # update_time = db.Column(db.TIMESTAMP(True), nullable=False)
    # create_time = db.Column(db.TIMESTAMP(True), nullable=False, server_default=text('NOW()'))
    comment = db.relationship('Comment', backref='post')
    view_count = db.Column(db.Integer, default=0)

    def __repr__(self):
        return '<Post %r>' % self.title
コード例 #27
0
ファイル: schema.py プロジェクト: msapunov/Copernicus
class MethodDB(db.Model):
    __tablename__ = "methods"

    id = db.Column(db.Integer, primary_key=True)
    endpoint = db.Column(db.String(512), unique=True)
    acl_id = db.Column(db.Integer, db.ForeignKey("acl.id"))
    acl = db.relationship("ACLDB", uselist=False, backref="methods")
    comment = db.Column(db.Text)
    modified = db.Column(db.DateTime(True))
    created = db.Column(db.DateTime(True))
    author = db.Column(db.String(64))
コード例 #28
0
ファイル: models.py プロジェクト: capkum/flask-restful-ex
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

    def __init__(self, username, email):
        self.username = username
        self.email = email

    def __repr__(self):
        return '<User %r>' % self.username
コード例 #29
0
class AdminUrl(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    path = db.Column(db.String(128), unique=True)
    name = db.Column(db.String(128))

    def __init__(self, path, name):
        self.path = path
        self.name = name

    def to_admin_dict(self):
        return dict(id=self.id, name=self.name, path=self.path)
コード例 #30
0
class Image(db.Model):
    id = db.Column(db.Integer(), primary_key=True)
    filename = db.Column(db.String(120))
    url = db.Column(db.String(120))
    created = db.Column(db.DateTime(), server_default=func.now())

    def __init__(self, filename):
        self.filename = self.get_filename(filename)

    def get_filename(self, filename):
        tmp = filename.rsplit('.', 1)
        return tmp[0] + '_%s_%s.%s' % (int(
            time.time()), random.randint(10000, 99999), tmp[1])