Пример #1
0
class ProductItem(BaseModel):
    __table_args__ = {'extend_existing': True}
    __tablename__ = "product_items"

    id = db.Column(db.BigInt(unsigned=True), primary_key=True, autoincrement=True)
    product_id = db.Column(db.BigInt(unsigned=True), db.ForeignKey('products.id'))
    site_id = db.Column(db.BigInt(unsigned=True),  db.ForeignKey('sites.id'))
    rating = db.Column(db.Float, default=0.0)
    reviews = db.Column(db.Integer, default=0)
    rating_change = db.Column(db.Float, default=0.0)
    reviews_change = db.Column(db.Integer, default=0)
    price = db.Column(db.String(255), default='')
    review_date = db.Column(db.Date, nullable=True)
    available_date = db.Column(db.Date, nullable=True)
    questions = db.Column(db.Integer, default=0)
    answers = db.Column(db.Integer, default=0)
    classify_rank = db.Column(db.JSON, nullable=True)
    feature_rate = db.Column(db.JSON, nullable=True)
    crawl_date = db.Column(db.Date, nullable=True)
    shop_item_id = db.Column(db.BigInt(unsigned=True), db.ForeignKey('shop_items.id'))
    img = db.Column(db.String(255), nullable=True)
    created_at = db.Column(db.DateTime, default=func.now())
    updated_at = db.Column(db.DateTime, default=func.now(), onupdate=func.now())

    product = relationship('Product', back_populates="product_items")
    site = relationship('Site', back_populates="product_items")
    daily_ranks = relationship('ProductItemDailyRank', back_populates="product_item")
    product_item_reviews = relationship('ProductItemReview', back_populates="product_item")
Пример #2
0
class TwitchClipTable(db.Table):
    """ Creates the Clip table for storing clip following data. """

    id = db.PrimaryKeyColumn()

    guild_id = db.Column(db.Integer(big=True))
    channel_id = db.Column(db.Integer(big=True))
    broadcaster_id = db.Column(db.String())
    last_25_clips = db.Column(db.Array(db.String()))
Пример #3
0
class Reports(db.Model):

    __tablename__ = "reports"

    id = db.Column(db.Integer, primary_key=True)
    student = db.Column(db.String(4096))
    discipline = db.Column(db.String(4096))
    mark = db.Column(db.Float(asdecimal=False))
    date = db.Column(db.Date)
Пример #4
0
class SnipeDeleteTable(db.Table, table_name="snipe_deletes"):
    id = db.PrimaryKeyColumn()

    user_id = db.Column(db.Integer(big=True))
    guild_id = db.Column(db.Integer(big=True))
    channel_id = db.Column(db.Integer(big=True))
    message_id = db.Column(db.Integer(big=True))
    message_content = db.Column(db.String())
    attachment_urls = db.Column(db.Array(db.String()), nullable=True)
    delete_time = db.Column(db.Integer(big=True))
Пример #5
0
class User(db.Model,UserMixin):
    __tablname__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(20), doc='账户', nullable=False)
    password = db.Column(db.String(32), doc='密码', nullable=False)
    isAdmin = db.Column(db.Boolean, doc='是否管理员', default=False)
    create_time = db.Column(db.DateTime, default=datetime.now, nullable=False)
    update_time = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)

    def __str__(self):
        return "%s" % self.account
Пример #6
0
class SnipeEditTable(db.Table, table_name="snipe_edits"):
    id = db.PrimaryKeyColumn()

    user_id = db.Column(db.Integer(big=True))
    guild_id = db.Column(db.Integer(big=True))
    channel_id = db.Column(db.Integer(big=True))
    message_id = db.Column(db.Integer(big=True))
    before_content = db.Column(db.String())
    after_content = db.Column(db.String())
    edited_time = db.Column(db.Integer(big=True))
    jump_url = db.Column(db.String)
Пример #7
0
class Admin(db.Model):
    __tablename__ = 'admins'

    email = db.Column(db.String(256), primary_key=True)
    name = db.Column(db.String(256))
    date_created = db.Column(db.DateTime)

    items = db.relationship("Item", backref="admins", lazy=True)

    def __repr__(self):
        return '<Admin %r>' % self.name
Пример #8
0
class Shop(BaseModel):
    __table_args__ = {'extend_existing': True}
    __tablename__ = 'shops'

    id = db.Column(db.BigInt(unsigned=True), primary_key=True, autoincrement=True)
    asin = db.Column(db.String(255))
    name = db.Column(db.String(255), nullable=True)

    created_at = db.Column(db.DateTime, default=func.now())
    updated_at = db.Column(db.DateTime, default=func.now(), onupdate=func.now())

    shop_items = relationship('ShopItem', back_populates="shop")
Пример #9
0
class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(256))
    email = db.Column(db.String(256))
    password = db.Column(db.String(256), nullable=False)
    date_created = db.Column(db.DateTime)
    admin = db.Column(db.Boolean)
    transactions = db.relationship("Transaction", backref="users", lazy=True)
    blacklist = db.relationship("Blacklist", backref="users", lazy=True)

    def __repr__(self):
        return '<User %r>' % self.name
Пример #10
0
class Item(db.Model):
    __tablename__ = 'items'

    name = db.Column(db.String(256), primary_key=True)
    created_by = db.Column(db.String(256), db.ForeignKey('admins.email'))
    date_in = db.Column(db.DateTime)
    date_out = db.Column(db.DateTime)
    quantity = db.Column(db.Integer)

    transactions = db.relationship("Transaction", backref="items", lazy=True)

    def __repr__(self):
        return '<Item %r>' % self.name
Пример #11
0
class Weibo(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.Text)
    author = db.Column(db.String(64))
    source = db.Column(db.String(64))
    create_time = db.Column(db.DateTime, default='CURRENT_TIMESTAMP')

    def __init__(self, content, author, source):
        self.content = content
        self.author = author
        self.source = source

    def __repr__(self):
        return '<Weibo %r:%r>' % (self.author, self.content)
Пример #12
0
class User(db.Model):
    """User Model"""

    __tablename__ = 'user'

    id = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(30), nullable=False)
    last_name = db.Column(db.String(30), nullable=False)
    email = db.Column(db.String(200), nullable=False, unique=True)
    password = db.Column(db.Text, nullable=False)
    is_verified = db.Column(db.Boolean, server_default=text('0'))
    created_at = db.Column(db.DateTime, server_default=func.now())
    role_id = db.Column(db.Integer, db.ForeignKey('role.id'), nullable=False)
    role = db.relationship('Role', backref='users')
Пример #13
0
class InterviewQuestion(db.Model):
    __tablename__ = "interviewquestions"
    id = db.Column(db.Integer, primary_key=True)
    application_id = db.Column(db.Integer, db.ForeignKey('applications.id'))
    title = db.Column(db.String(256))
    question = db.Column(db.String(256))

    def __repr__(self):
        return '<Interview Question %r' % self.Question

    def to_dict(self):
        return {
            c.key: getattr(self, c.key)
            for c in inspect(self).mapper.column_attrs
        }
Пример #14
0
class Tender(db.Model):
    __tablename__ = 'tender'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(20), nullable=False)
    content = db.Column(db.String(100), nullable=False)
    publish_date = db.Column(db.Date)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    city_id = db.Column(db.Integer, db.ForeignKey('city.id'))
    users = db.relationship('User', backref=db.backref('tenders'))

    def __init__(self, title, content, user_id, city_id, publish_date):
        self.title = title
        self.content = content
        self.user_id = user_id
        self.city_id = city_id
        self.publish_date = publish_date
Пример #15
0
class Site(BaseModel):
    __table_args__ = {'extend_existing': True}
    __tablename__ = 'sites'

    id = db.Column(db.BigInt(unsigned=True), primary_key=True, autoincrement=True)
    name = db.Column(db.String(255), default='')
    short_name = db.Column(db.String(255), default='')
    domain = db.Column(db.String(255), default='')
    status = db.Column(db.String(3), default='On')  # On Off
    created_at = db.Column(db.DateTime, default=func.now())
    updated_at = db.Column(db.DateTime, default=func.now(), onupdate=func.now())

    # 一对多关系 目标类中必须要存在product属性
    product_items = relationship('ProductItem', back_populates="site")
    shop_items = relationship('ShopItem', back_populates="site")
    site_config = relationship('SiteConfig', backref="site", uselist=False)
Пример #16
0
class Transaction(db.Model):
    __tablename__ = 'transactions'

    id = db.Column(db.Integer, primary_key=True)
    user_requested_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    user_accepted = db.Column(db.String(256))
    requested_quantity = db.Column(db.Integer)
    accepted = db.Column(db.Boolean)
    returned = db.Column(db.Boolean)
    item = db.Column(db.String(256), db.ForeignKey('cars.name'))
    date_requested = db.Column(db.DateTime)
    date_accepted = db.Column(db.DateTime)
    date_returned = db.Column(db.DateTime)

    def __repr__(self):
        return '<Transaction %r>' % self.id
Пример #17
0
class Allergies(db.Model):

    __tablename__ = 'allergies'

    id = db.Column(db.Integer, primary_key=True)
    allergen = db.Column(db.String(255))
    key_words = db.Column(ScalarListType())
Пример #18
0
class Task(db.Model):

    __tablename__ = 'task'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(200), nullable=False, unique=True)
    description = db.Column(db.Text, nullable=False)
    created_at = db.Column(db.DateTime,
                           server_default=func.now(),
                           nullable=False)
    created_by = db.Column(db.Integer, db.ForeignKey('user.id'))
    assigned_by = db.Column(db.Integer, db.ForeignKey('user.id'))
    assigned_to = db.Column(db.Integer, db.ForeignKey('user.id'))
    reviewed_by = db.Column(db.Integer, db.ForeignKey('user.id'))
    created_by_id = db.relationship('User', foreign_keys=[created_by])
    assigned_by_id = db.relationship('User', foreign_keys=[assigned_by])
    assigned_to_id = db.relationship('User', foreign_keys=[assigned_to])
    reviewed_by_id = db.relationship('User', foreign_keys=[reviewed_by])
    status_id = db.Column(db.Integer, db.ForeignKey('status.id'))
    status = db.relationship('Status', backref='tasks')
    criticality_id = db.Column(db.Integer, db.ForeignKey('criticality.id'))
    criticality = db.relationship('Criticality', backref='tasks')
    expected_completion_date = db.Column(
        db.DateTime,
        server_default=Computed(sqltext=text('created_at + INTERVAL 3 DAY'),
                                persisted=True),
        nullable=False)
    project_id = db.Column(db.Integer, db.ForeignKey('project.id'))
    project = db.relationship('Project', backref='tasks')
    actual_completion_date = db.Column(db.DateTime,
                                       server_default=null(),
                                       nullable=True)
Пример #19
0
class Category(db.Model):
    """Categories"""
    __tablename__ = 'categories'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(100), nullable=False)
    is_active = db.Column(db.Boolean, nullable=False, server_default="true")

    categories_services = db.relationship(
        "CategoryService", backref="category", cascade="all, delete, delete-orphan", passive_deletes=True)
    services = db.relationship(
        "Service", secondary="categories_services", backref="categories")

    def __repr__(self):
        """Representation of this class"""
        e = self
        return f"<Category id={e.id} name={e.name}>"

    def serialize(self):
        """Serialize a Category SQLAlchemy obj to dictionary."""

        return {
            "id": self.id,
            "name": self.name,
            "is_active": self.is_active
        }
Пример #20
0
class ProductItemKeyword(BaseModel):
    __table_args__ = {'extend_existing': True}
    __tablename__ = 'product_item_keywords'

    id = db.Column(db.BigInt(unsigned=True), primary_key=True, autoincrement=True)
    name = db.Column(db.String(255))
    created_at = db.Column(db.DateTime, default=func.now())
    updated_at = db.Column(db.DateTime, default=func.now(), onupdate=func.now())
Пример #21
0
class Classify(BaseModel):
    __table_args__ = {'extend_existing': True}
    __tablename__ = 'classifies'

    id = db.Column(db.BigInt(unsigned=True), primary_key=True, autoincrement=True)
    name = db.Column(db.String(255), nullable=False)
    created_at = db.Column(db.DateTime, default=func.now())
    updated_at = db.Column(db.DateTime, default=func.now(), onupdate=func.now())
Пример #22
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(10), nullable=False)
    password = db.Column(db.String(100), nullable=False)
    telephone = db.Column(db.String(11), nullable=False)

    def __init__(self, username, password, telephone):
        self.username = username
        self.telephone = telephone
        self.password = generate_password_hash(password=password)

    def check_password(self, raw_password):
        result = check_password_hash(self.password, raw_password)
        return result

    def __repr__(self):
        return str(self.id)
Пример #23
0
class External(db.Model):
    __tablename__ = "external"
    id = db.Column(db.Integer, primary_key=True)
    application_id = db.Column(db.Integer, db.ForeignKey('applications.id'))
    url = db.Column(db.String(256))
    position = db.Column(db.String(256))
    company = db.Column(db.String(256))
    date_posted = db.Column(db.String(256))
    deadline = db.Column(db.String(256))

    def __repr__(self):
        return '<External Application %r>' % self.id

    def to_dict(self):
        return {
            c.key: getattr(self, c.key)
            for c in inspect(self).mapper.column_attrs
        }
Пример #24
0
class Organisation(db.Model):

    __tablename__ = 'organisation'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(70), nullable=False, unique=True)
    passcode = db.Column(db.Text, nullable=False)
    location = db.Column(db.String(30), nullable=False)
    registered_at = db.Column(db.DateTime,
                              server_default=func.now(),
                              nullable=False)
    registered_by = db.Column(db.Integer,
                              db.ForeignKey('user.id'),
                              nullable=False)
    organisation_registerer = db.relationship(
        'User', backref='organisation_registered', uselist=False)
    user_organisation = db.relationship('User',
                                        backref='users',
                                        secondary='user_organisation')
Пример #25
0
class TwitchTable(db.Table):
    """ Create the twitch database table. """

    id = db.PrimaryKeyColumn()

    guild_id = db.Column(db.Integer(big=True))
    channel_id = db.Column(db.Integer(big=True))
    streamer_name = db.Column(db.String)
    streamer_last_game = db.Column(db.String())
    streamer_last_datetime = db.Column(db.Datetime())
Пример #26
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20))
    username = db.Column(db.String(20))
    password_hash = db.Column(db.String(128))

    def set_password(self, password):
        self.password_hash = generate_password_hash(password)

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

    def is_active(self):
        return True

    def get_id(self):
        return self.id

    def is_authenticated(self):
        return True
Пример #27
0
class ModLogEntry(db.Table, table_name='modlog'):
    id = db.Column(db.Serial, primary_key=True)
    channel_id = db.Column(db.BigInt)
    message_id = db.Column(db.BigInt)
    guild_id = db.Column(db.BigInt)
    action = db.Column(db.String(length=16))
    mod_id = db.Column(db.BigInt)
    reason = db.Column(db.Text)
    extra = db.Column(db.Text)

    modlog_guild_id_index = db.Index(guild_id)
Пример #28
0
class Product(db.Model):
    __tablename__ = 'products'

    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(256), index=True, unique=True)
    price = db.Column(db.Float)
    inventory_count = db.Column(db.Integer)
    cartitems = db.relationship("CartItem", backref="products", lazy=True)

    def __repr__(self):
        return '<Product %r>' % self.title
Пример #29
0
class ProductType(BaseModel):
    __table_args__ = {'extend_existing': True}
    __tablename__ = 'product_types'

    id = db.Column(db.BigInt(unsigned=True), primary_key=True, autoincrement=True)
    name = db.Column(db.String(255))

    product_relations = relationship("ProductTypeProductRelation", back_populates="product_type")

    created_at = db.Column(db.DateTime, default=func.now())
    updated_at = db.Column(db.DateTime, default=func.now(), onupdate=func.now())
Пример #30
0
class ClassifyCrawlProgress(BaseModel):
    __table_args__ = {'extend_existing': True}
    __tablename__ = "classify_crawl_progresses"

    id = db.Column(db.BigInt(unsigned=True), primary_key=True, autoincrement=True)
    model_id = db.Column(db.BigInt(unsigned=True), nullable=False)
    model = db.Column(db.String(255), nullable=False)
    total = db.Column(db.Integer, default=0)
    finished = db.Column(db.Integer, default=0)
    created_at = db.Column(db.DateTime, default=func.now())
    updated_at = db.Column(db.DateTime, default=func.now(), onupdate=func.now())