Example #1
0
class TempFileList(Base):
    __tablename__ = 'tempfilelist'

    key = Column(CHAR(40, collation='utf8_unicode_ci'), primary_key=True)
    filename = Column(TEXT(charset='utf8'), nullable=False)
    content_type = Column(TEXT(charset='utf8'), nullable=False)
    created = Column(TIMESTAMP, default=datetime.utcnow)
    author_key = Column(CHAR(40, collation='utf8_unicode_ci'), nullable=False)

    def __init__(self, key, filename, content_type, author_key, **kwargs):
        self.key = key
        self.filename = filename
        self.content_type = content_type
        self.author_key = author_key

    def __repr__(self):
        return 'TempFileList(%s ,%s)' % \
        (self.key,self.filename)

    @classmethod
    def by_key(cls, key, sql_session):
        q = sql_session.query(cls)
        return q.filter(cls.key == key)

    def to_dict(self):
        return {
            'key': self.key,
            'filename': self.filename,
            'path': self.key,
            'filetype': 'file',
        }
Example #2
0
class Announce(FullText, Base):
    __tablename__ = 'announcements'
    __table_args__ = {'mysql_engine': 'MyISAM'}
    __fulltext_columns__ = ('search', )

    id = Column(INTEGER, primary_key=True)
    title = Column(TEXT(charset='utf8'), nullable=False)
    content = Column(TEXT(charset='utf8'), nullable=False)
    author_group_name = Column(VARCHAR(30, collation='utf8_unicode_ci'),
                               nullable=False)
    author_name = Column(VARCHAR(30, collation='utf8_unicode_ci'),
                         nullable=False)
    is_private = Column(BOOLEAN, nullable=False)
    created = Column(TIMESTAMP, default=datetime.utcnow)
    updated = Column(TIMESTAMP,
                     default=datetime.utcnow,
                     onupdate=datetime.utcnow)
    search = Column(TEXT(charset='utf8'),
                    nullable=False,
                    onupdate=_search_update)

    def __init__(self, title, content, author_group_name, author_name,
                 is_private, **kwargs):
        self.title = title
        self.content = content
        self.author_group_name = author_group_name
        self.author_name = author_name
        self.is_private = is_private
        self.search = ' '.join(jieba.cut_for_search('%s %s' %
                                                    (title, content)))
        if kwargs.get('created'):
            self.created = kwargs['created']
        if kwargs.get('updated'):
            self.updated = kwargs['updated']

    def __repr__(self):
        return 'Announce(%s ,%s)' % \
        (self.title,self.content)

    @classmethod
    def by_id(cls, ann_id, sql_session):
        q = sql_session.query(cls)
        return q.filter(cls.id == ann_id)

    @classmethod
    def full_text_search(cls, query):
        query = ' '.join(jieba.cut_for_search(query))
        return FullTextSearch(query, cls, FullTextMode.NATURAL)

    def to_dict(self):
        return {
            'id': self.id,
            'title': self.title,
            'content': self.content,
            'author_name': self.author_name,
            'author_group_name': self.author_group_name,
            'is_private': self.is_private,
            'created': self.created.strftime('%Y-%m-%d %H:%M:%S'),
            'updated': self.updated.strftime('%Y-%m-%d %H:%M:%S'),
        }
Example #3
0
class OTP(Base):
    __tablename__ = 'otp'

    id = Column(INTEGER, primary_key=True, autoincrement=True)
    otp = Column(TEXT(255))
    user_id = Column(INTEGER, ForeignKey('users.user_id'))
    purpose = Column(TEXT(255))
    data = Column(TEXT(255))
    timestamp = Column(BIGINT)
Example #4
0
class caseStep(mysqlpool.Model):
    __tablename__ = "caseStep"
    # 定义column
    id = mysqlpool.Column(
        name="id",
        type_=INTEGER,
        autoincrement=True,
        nullable=False,
        unique=True,
        primary_key=True
    )
    caseId = mysqlpool.Column(
        name="caseId",
        type_=TINYINT(4),
        nullable=False
    )
    content = mysqlpool.Column(
        name="content",
        type_=TEXT(1000),
        nullable=True
    )

    expectation = mysqlpool.Column(
        name="expectation",
        type_=TEXT(1000),
        nullable=True
    )
    status = mysqlpool.Column(
        name="status",
        type_=TINYINT(4),
        nullable=False
    )

    userId = mysqlpool.Column(
        name="userId",
        type_=TINYINT(4),
        nullable=False
    )

    createTime = mysqlpool.Column(
        name="createTime",
        type_=DATETIME,
        nullable=False,
        default=datetime.datetime.now
    )
    updateUserId = mysqlpool.Column(
        name="updateUserId",
        type_=TINYINT(4),
        nullable=True
    )
    updateTime = mysqlpool.Column(
        name="updateTime",
        type_=DATETIME,
        nullable=False,
        default=datetime.datetime.now
    )
Example #5
0
class SocialLogin(Base):
    __tablename__ = 'social_logins'

    id = Column(INTEGER, primary_key=True, autoincrement=True)
    user_id = Column(INTEGER, ForeignKey('users.user_id'), nullable=False)
    # facebook
    provider_id = Column(TEXT(255), nullable=False)
    # result.user.id
    provider_user_id = Column(TEXT(255), nullable=False)
    # result.user.email

    # result.user.credentials.token
    access_token = Column(TEXT(255))
Example #6
0
class UserInfo(db.Model):

    id = db.Column(INTEGER(unsigned=True), primary_key=True)
    sign = db.Column(TEXT(), nullable=False, default='')
    intro = db.Column(TEXT(), nullable=False, default='')
    address = db.Column(VARCHAR(length=255), nullable=False, default='')
    birthday = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    avatar = db.Column(VARCHAR(length=255), nullable=False, default='')
    state = db.Column(TINYINT(), nullable=False, default=1)
    user_id = db.Column(INTEGER(unsigned=True),
                        db.ForeignKey('user.id'),
                        nullable=False)

    def __str__(self):
        return '<UserInfo {0}>'.format(self.user.id)
Example #7
0
class MpSoftware(CommonBase):
	__tablename__ = 'mp_software'

	rid                 	= Column(BigInteger, primary_key=True, nullable=False, autoincrement=True)
	suuid               	= Column(String(50), primary_key=True, nullable=False, info="Software ID")
	patch_bundle_id     	= Column(String(100), info="Patch Bundle ID")
	auto_patch          	= Column(Integer, nullable=False, server_default='0', info="Auto Patch")
	sState              	= Column(Integer, server_default='0', info="State", doc=70)
	sName              		= Column(String(255), nullable=False, info="Name")
	sVendor             	= Column(String(255), info="Vendor")
	sVersion            	= Column(String(40), nullable=False, info="Version")
	sDescription        	= Column(String(255), info="Description")
	sVendorURL          	= Column(String(255), info="Vendor URL")
	sReboot             	= Column(Integer, server_default='1', info="Reboot")
	sw_type             	= Column(String(10), info="SW Type")
	sw_path             	= Column(String(255), info="Patch")
	sw_url              	= Column(String(255), info="URL")
	sw_size             	= Column(BigInteger, server_default='0', info="Size")
	sw_hash             	= Column(String(50), info="Hash")
	sw_pre_install_script   = Column(LONGTEXT(), info="Preinstall Script")
	sw_post_install_script  = Column(LONGTEXT(), info="Postinstall Script")
	sw_uninstall_script     = Column(LONGTEXT(), info="Uninstall Script")
	sw_env_var              = Column(String(255), info="Install ENV")
	cdate                   = Column(DateTime, server_default='1970-01-01 00:00:00', info="Create Date", doc=99)
	mdate                   = Column(DateTime, server_default='1970-01-01 00:00:00', info="Mod Date", doc=98)
	sw_img_path 			= Column(TEXT(), info="SW Icon")
Example #8
0
class ServiceEvent(Base):
    __tablename__ = 'serviceEvent'

    id = Column(u'ServiceID', INTEGER(), primary_key=True)
    host_id = Column(u'HostID', INTEGER(),
                     ForeignKey('hosts.HostID', ondelete='cascade'))
    app_id = Column(
        u'app_id',
        SMALLINT(),
        ForeignKey('app_definitions.AppID'),
    )
    # This is deliberately _not_ linked to the hosts table; we want to record
    # the hostname at the time of the event and not have it change later.
    hostname = Column(String(length=30))
    username = Column(String(length=30))
    control_host = Column(String(length=30))
    event = Column(Enum(u'RMA', u'commission', u'decommission'))
    service_status = Column(u'serviceStatus', String(length=100))
    comments = Column(TEXT())
    service_date = Column(u'serviceDate',
                          TIMESTAMP(),
                          nullable=False,
                          default=func.current_timestamp(),
                          onupdate=func.current_timestamp(),
                          server_onupdate=func.current_timestamp())
Example #9
0
class Rewrite(Base):
    __tablename__ = "rewrites"
    id = Column(BIGINT(unsigned=True), primary_key=True, nullable=False)
    article_id = Column(BIGINT(unsigned=True), index=True, nullable=False)
    rewrite_type = Column(Enum(RewriteType), index=True, nullable=False)
    status = Column("status",
                    INTEGER(unsigned=True),
                    unique=False,
                    index=True,
                    nullable=False,
                    server_default=text("0"))
    error = Column("error",
                   TEXT(),
                   index=False,
                   unique=False,
                   nullable=True,
                   default=None)
    created_at = Column("created_at",
                        TIMESTAMP,
                        unique=False,
                        nullable=False,
                        server_default=text("CURRENT_TIMESTAMP"))
    updated_at = Column(
        "updated_at",
        TIMESTAMP,
        unique=False,
        nullable=False,
        index=True,
        server_default=text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"),
        server_onupdate=text("CURRENT_TIMESTAMP"))

    __table_args__ = (UniqueConstraint('article_id',
                                       'rewrite_type',
                                       name='article_id__rewrite_type_UIX'), )
Example #10
0
class FundingRound(Base):
    __tablename__ = 'crunchbase_funding_rounds'

    funding_round_id = Column(VARCHAR(36), primary_key=True)
    company_name = Column(VARCHAR(200))
    location_id = Column(VARCHAR(400, collation='utf8mb4_unicode_ci'),
                         index=True)
    country = Column(VARCHAR(200, collation='utf8mb4_unicode_ci'))
    state_code = Column(VARCHAR(2))
    region = Column(VARCHAR(100, collation='utf8mb4_unicode_ci'))
    city = Column(VARCHAR(100, collation='utf8mb4_unicode_ci'))
    investment_type = Column(VARCHAR(30))
    announced_on = Column(DATE)
    raised_amount_usd = Column(BIGINT)
    raised_amount = Column(BIGINT)
    raised_amount_currency_code = Column(VARCHAR(3))
    post_money_valuation_usd = Column(BIGINT)
    post_money_valuation = Column(BIGINT)
    post_money_currency_code = Column(VARCHAR(3))
    investor_count = Column(BIGINT)
    cb_url = Column(TEXT)
    company_id = Column(VARCHAR(36))
    created_at = Column(DATETIME)
    updated_at = Column(DATETIME)
    investor_names = Column(TEXT(collation='utf8mb4_unicode_ci'))
    investor_ids = Column(TEXT)
class Content(db.Model):
	id = db.Column(db.Integer, primary_key=True) #autoincrement id
	ranking = db.Column(db.FLOAT, unique=False, nullable=False) # the ranking
	content = db.Column(LONGTEXT, unique=False, nullable=False) # the content of the page we found
	reference = db.Column(TEXT(65535), unique=False, nullable=False) # the url of the page 
	search_id = db.Column(db.String(255), db.ForeignKey('searches.id')) # this is the foreign key to our search param

	def __repr__(self):
		return '<Content {}>'.format(self.id)
Example #12
0
class ShareObject(db.Model):
	id = db.Column(db.Integer, primary_key=True)
	title = db.Column(db.String(255))
	description = db.Column(TEXT(charset='latin1')) #Check this Mike
	link = db.Column(db.String(255))
	downloaded = db.Column(db.Integer)
	user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
	reader = db.Column(db.String(45))
	speed = db.Column(db.String(5))
Example #13
0
class caseEditLog(mysqlpool.Model):
    __tablename__ = "caseEditLog"
    # 定义column
    id = mysqlpool.Column(name="id",
                          type_=INTEGER,
                          autoincrement=True,
                          nullable=False,
                          unique=True,
                          primary_key=True)
    caseId = mysqlpool.Column(name="caseId", type_=TINYINT(4), nullable=False)
    type = mysqlpool.Column(name="type", type_=TINYINT(4), nullable=False)
    before = mysqlpool.Column(name="before", type_=TEXT(1000), nullable=True)

    after = mysqlpool.Column(name="after", type_=TEXT(1000), nullable=True)

    createTime = mysqlpool.Column(name="createTime",
                                  type_=DATETIME,
                                  nullable=False,
                                  default=datetime.datetime.now)
Example #14
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)
Example #15
0
class MessagingPlatform(Base):
    __tablename__ = 'messaging_platforms'

    id = Column(INTEGER, primary_key=True, autoincrement=True)
    # user_id = Column(INTEGER, ForeignKey('users.user_id'))
    username = Column(TEXT(255))
    platform_id = Column(SMALLINT(unsigned=True))
    timestamp = Column(BIGINT)
    image_id = Column(INTEGER)
    text = Column(TEXT)
Example #16
0
class DailyReport(Base):
    __tablename__ = 'daily_report'
    id = Column(BIGINT, primary_key=True, autoincrement=True)  # 主键
    date = Column(VARCHAR(32), nullable=True)  # 施工日期
    photos = Column(TEXT(), nullable=True)  # 施工照片
    content = Column(VARCHAR(600), nullable=True)  # 施工内容
    principal = Column(VARCHAR(32), nullable=True)  # 项目负责人
    work_status = Column(CHAR(1))  # 施工状态 0:停工 1:进行中 2:完工
    stop_reason = Column(VARCHAR(600))  # 停工原因
    cs_id = Column(BIGINT, nullable=True)  # 工地id
Example #17
0
class Organization(Base):
    __tablename__ = 'crunchbase_organizations'

    id = Column(VARCHAR(50), primary_key=True)
    company_name = Column(VARCHAR(200, collation='utf8mb4_unicode_ci'))
    roles = Column(VARCHAR(50))
    permalink = Column(VARCHAR(200))
    domain = Column(TEXT)
    homepage_url = Column(TEXT)
    location_id = Column(VARCHAR(400, collation='utf8mb4_unicode_ci'),
                         index=True)
    country = Column(VARCHAR(200, collation='utf8mb4_unicode_ci'))
    state_code = Column(VARCHAR(2))
    region = Column(VARCHAR(100, collation='utf8mb4_unicode_ci'))
    city = Column(VARCHAR(100, collation='utf8mb4_unicode_ci'))
    address = Column(VARCHAR(200, collation='utf8mb4_unicode_ci'))
    status = Column(VARCHAR(9))
    short_description = Column(VARCHAR(200, collation='utf8mb4_unicode_ci'))
    funding_rounds = Column(INT)
    funding_total_usd = Column(BIGINT)
    founded_on = Column(DATE)
    last_funding_on = Column(DATE)
    closed_on = Column(DATE)
    employee_count = Column(VARCHAR(20))
    email = Column(VARCHAR(200, collation='utf8mb4_unicode_ci'))
    phone = Column(TEXT)
    facebook_url = Column(TEXT)
    linkedin_url = Column(TEXT)
    cb_url = Column(TEXT)
    logo_url = Column(TEXT)
    twitter_url = Column(TEXT)
    aliases = Column(TEXT(collation='utf8mb4_unicode_ci'))
    created_at = Column(DATETIME)
    updated_at = Column(DATETIME)
    primary_role = Column(VARCHAR(50))
    type = Column(VARCHAR(50))
    long_description = Column(TEXT(collation='utf8mb4_unicode_ci'))
    parent_id = Column(VARCHAR(50))
    is_health = Column(BOOLEAN)
    mesh_terms = Column(TEXT)
    categories = relationship('CategoryGroup',
                              secondary='crunchbase_organizations_categories')
Example #18
0
class Step(Base):
    __tablename__ = 'step'

    id = Column(Integer, primary_key=True, nullable=False, autoincrement=True)
    recipe_id = Column(ForeignKey(u'recipe.id'),
                       primary_key=True,
                       nullable=False,
                       index=True)
    description = Column(TEXT(charset='latin1'), nullable=False)

    recipe = relationship(u'Recipe')
Example #19
0
class Blog(db.Model):

    id = db.Column(INTEGER(unsigned=True), primary_key=True)
    title = db.Column(VARCHAR(length=255), index=True, nullable=False)
    subtitle = db.Column(VARCHAR(length=255), nullable=False)
    intro = db.Column(TEXT(), nullable=False, default='')
    content = db.Column(TEXT(), nullable=False, default='')
    logo = db.Column(VARCHAR(length=255), nullable=False, default='')

    update_time = db.Column(db.DateTime,
                            nullable=False,
                            index=True,
                            default=datetime.utcnow)
    create_time = db.Column(db.DateTime,
                            nullable=False,
                            index=True,
                            default=datetime.utcnow)
    user_id = db.Column(INTEGER(unsigned=True),
                        db.ForeignKey('user.id'),
                        nullable=False)
Example #20
0
class User(Base):
    __tablename__ = 'users'
    user_id = Column(INTEGER, primary_key=True, autoincrement=True)
    username = Column(TEXT(30))
    email = Column(TEXT(255))
    email_verified = Column(BOOLEAN, default=False)
    password_hash = Column(TEXT(255))
    first_name = Column(TEXT(255), nullable=False)
    last_name = Column(TEXT(255))
    mobile_num = Column(TEXT(255))
    profile_pic_id = Column(INTEGER)
    whatsapp = Column(TEXT(255))
    whatsapp_verified = Column(BOOLEAN, default=False)
    line = Column(TEXT(255))
    line_verified = Column(BOOLEAN, default=False)
    wechat = Column(TEXT(255))
    wechat_verified = Column(BOOLEAN, default=False)
    time_joined = Column(BIGINT)
    active = Column(BOOLEAN)
    default_homepage = Column(INTEGER)
    default_login = Column(TEXT(16))

    social_logins = relationship("SocialLogin")
    clients = relationship("ClientTrainer",
                           foreign_keys="ClientTrainer.trainer_id",
                           lazy="select")
    trainers = relationship("ClientTrainer",
                            foreign_keys="ClientTrainer.client_id",
                            lazy="select")
    profile_pic = relationship(
        "FileIndex",
        primaryjoin='User.profile_pic_id==FileIndex.file_id',
        foreign_keys="FileIndex.file_id",
        remote_side="User.profile_pic_id",
        lazy="select")

    def hash_password(self, password):
        self.password_hash = argon2.hash(password)

    def verify_password(self, password):
        return argon2.verify(password, self.password_hash)
Example #21
0
class OnlineSQL(MaintenanceBase):
    """
    一个商户在线上的存储过程
    """

    __tablename__ = 'online_sqls'

    id = Column(Integer, autoincrement=True, nullable=False, primary_key=True)
    org_code = Column(String(32), nullable=False)
    file_name = Column(VARCHAR(length=64), nullable=False)
    sql_content = Column(TEXT(), default="", server_default="", nullable=False)
    sql_sha1 = Column(VARCHAR(128))
Example #22
0
class ModelRecord(Base):
    __tablename__ = 'Records'
    number_record = Column(String(100), primary_key=True, unique = True, index = True)
    record_categoty = Column(String(100))
    title = Column(String(100))
    price = Column(String(50))       
    description = Column(TEXT())       
    date_publish = Column(String(100))
    views = Column(String(100))
    name_user = Column(String(100))
    phone = Column(String(100))
    image_href = Column(String(100))
    record_url = Column(String(2000))
Example #23
0
class Paper(Base):
    __tablename__ = 'mag_papers'

    id = Column(BIGINT, primary_key=True, autoincrement=False)
    title = Column(TEXT(collation='utf8_bin'))
    citation_count = Column(INTEGER)
    created_date = Column(DATE)
    doi = Column(VARCHAR(200))
    book_title = Column(VARCHAR(200))
    _languages = relationship('PaperLanguage')
    languages = association_proxy('_languages', 'language',
                                  creator=lambda l: PaperLanguage(language=l))
    fields_of_study = relationship('PaperFieldsOfStudy', back_populates='paper')
    authors = relationship('PaperAuthor', back_populates='paper')
Example #24
0
class AttachmentList(Base):
    __tablename__ = 'attachmentlist'

    key = Column(CHAR(40, collation='utf8_unicode_ci'), primary_key=True)
    ann_id = Column(INTEGER, nullable=False)
    content_type = Column(TEXT(charset='utf8'), nullable=False)
    filename = Column(TEXT(charset='utf8'), nullable=False)

    def __init__(self, key, ann_id, content_type, filename, **kwargs):
        self.key = key
        self.ann_id = ann_id
        self.content_type = content_type
        self.filename = filename

    def __repr__(self):
        return 'AttachmentList(%s ,%s)' % \
        (self.ann_id,self.filename)

    @classmethod
    def by_key(cls, key, sql_session):
        q = sql_session.query(cls)
        return q.filter(cls.key == key)

    @classmethod
    def by_ann_id(cls, ann_id, sql_session):
        q = sql_session.query(cls)
        return q.filter(cls.ann_id == ann_id)

    def to_dict(self):
        _filetype = mimetypes.guess_extension(self.content_type)
        _filetype = _filetype if _filetype else ''
        return {
            'key': self.key,
            'filename': self.filename,
            'path': self.key + '/' + self.filename,
            'filetype': _filetype[1:],
        }
Example #25
0
class TaskHistory(Base):
    __tablename__ = "tb_task_history"
    __table_args__ = {'extend_existing': True}

    id = Column('id', INTEGER(11), primary_key=True)
    mr_task_id = Column('mr_task_id', INTEGER(11), ForeignKey("tb_mr_task.id"))
    table_stage_info = Column('table_stage_info', TEXT())
    create_time = Column('create_time', DATETIME(), server_default=func.now())
    update_time = Column('update_time', DATETIME())
    begin_time = Column('begin_time', DATETIME())
    end_time = Column('end_time', DATETIME())
    result_status = Column('result_status', TINYINT(1), default=0)
    result = Column('result', TEXT())

    parent = relationship("MRTask", back_populates="history_child")

    @hybrid_property
    def table_stage_list(self):
        # unmarsh the table_stage_info into python object
        # return StageToProcess list
        if self.table_stage_info:
            return CommonUtil.decodeTableStageInfo(self.table_stage_info)
        else:
            return []
Example #26
0
class System(Base):
    __tablename__ = 'system'

    key = Column(VARCHAR(40, collation='utf8_unicode_ci'), primary_key=True)
    value = Column(TEXT(charset='utf8'), nullable=False)

    def __init__(self, key, value):
        self.key = key
        self.value = value

    @classmethod
    def by_key(cls, key, sql_session):
        q = sql_session.query(cls)
        q = q.filter(cls.key == key)
        return q
Example #27
0
class CalorieEntry(Base):
    __tablename__ = 'calorie_entries'

    id = Column(INTEGER, primary_key=True, autoincrement=True)
    user_id = Column(INTEGER, ForeignKey('users.user_id'))
    food_name = Column(TEXT(255))
    timestamp = Column(BIGINT)
    image_id = Column(INTEGER)
    client_comment = Column(TEXT)
    calories = Column(SMALLINT(unsigned=True))
    carb = Column(SMALLINT(unsigned=True))
    protein = Column(SMALLINT(unsigned=True))
    fat = Column(SMALLINT(unsigned=True))
    trainer_comment = Column(TEXT)
    reviewed = Column(BOOLEAN, default=False)
    def test_column_datatype_to_string(self):
        test_cases = (
            (DATE(), "DATE"),
            (VARCHAR(length=255), "VARCHAR(255)"),
            (
                VARCHAR(length=255, charset="latin1", collation="utf8mb4_general_ci"),
                "VARCHAR(255)",
            ),
            (NVARCHAR(length=128), "NATIONAL VARCHAR(128)"),
            (TEXT(), "TEXT"),
        )

        for original, expected in test_cases:
            actual = MySQLEngineSpec.column_datatype_to_string(
                original, mysql.dialect()
            )
            self.assertEqual(actual, expected)
class ImageSubmission(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    time = db.Column(db.DateTime(), nullable=False)
    game_id = db.Column(db.Integer, db.ForeignKey('game.id'))
    player_id = db.Column(db.Integer, db.ForeignKey('player.id'))
    player = db.relationship(Player, lazy='joined')
    image = db.Column(TEXT(MAX_IMAGE_LENGTH), nullable=False)

    def __init__(self, player, image):
        self.time = datetime.now()
        self.player = player
        self.image = image

    def get_player(self):
        return self.player

    def get_image(self):
        return self.image
Example #30
0
class HostDeployment(Base):
    __tablename__ = 'host_deployments'

    id = Column(u'HostDeploymentID', INTEGER(), primary_key=True)
    deployment_id = Column(u'DeploymentID',
                           INTEGER(),
                           ForeignKey('deployments.DeploymentID',
                                      ondelete='cascade'),
                           nullable=False)
    deployment = relationship("Deployment", uselist=False)

    host_id = Column(u'HostID',
                     INTEGER(),
                     ForeignKey('hosts.HostID', ondelete='cascade'),
                     nullable=False)
    host = relationship("Host", uselist=False)

    package_id = Column(INTEGER(),
                        ForeignKey('packages.package_id', ondelete='cascade'),
                        nullable=False)
    package = relationship(
        "Package",
        uselist=False,
        back_populates='host_deployments',
    )

    user = Column(String(length=32), nullable=False)
    status = Column(Enum(
        'failed',
        'inprogress',
        'ok',
        'pending',
    ),
                    nullable=False)
    realized = Column(TIMESTAMP(),
                      nullable=False,
                      server_default=func.current_timestamp())
    created_at = synonym('realized')
    duration = Column(FLOAT(), nullable=False, server_default="0")
    deploy_result = Column(TEXT())

    __table_args__ = (UniqueConstraint(u'package_id', u'HostID',
                                       u'realized'), )