class RepliesOnBoard(Base):

    __tablename__ = 'RepliesOnBoard'

    boardReplyIndex = Column(INTEGER(unsigned=True),
                             primary_key=True,
                             autoincrement=True,
                             nullable=False)
    articleIndex = Column(INTEGER(unsigned=True),
                          ForeignKey(ArticlesOnBoard.articleIndex,
                                     onupdate='CASCADE',
                                     ondelete='CASCADE'),
                          nullable=False)
    boardReplierIdIndex = Column(INTEGER(unsigned=True),
                                 ForeignKey(Members.memberIdIndex,
                                            onupdate='CASCADE',
                                            ondelete='CASCADE'),
                                 nullable=False)
    boardReplyContent = Column(TEXT, nullable=False)
    sumOfLikeCount = Column(INTEGER(unsigned=True), default=0, nullable=False)
    boardReplierIp = Column(VARCHAR(20), nullable=False)
    boardRepliedDate = Column(DATETIME, nullable=False)
    isDeleted = Column(ENUM(ENUMResources().const.TRUE,
                            ENUMResources().const.FALSE),
                       default=ENUMResources().const.FALSE,
                       nullable=False)
class Problems(Base) :
    
    __tablename__ = 'Problems'
    
    problemIndex = Column(INTEGER(unsigned = True),
                          primary_key = True,
                          autoincrement = True,
                          nullable = False)
    problemName = Column(VARCHAR(255),
                         nullable = False,
                         unique = True)
    problemDifficulty = Column(ENUM(ENUMResources().const.BRONZE,
                                    ENUMResources().const.SILVER,
                                    ENUMResources().const.GOLD),
                               default = ENUMResources().const.BRONZE,
                               nullable = False)
    solutionCheckType = Column(ENUM(ENUMResources().const.SOLUTION,
                                    ENUMResources().const.CHECKER),
                               default = ENUMResources().const.CHECKER,
                               nullable = False)
    numberOfTestCase = Column(INTEGER(unsigned = True),
                              default = 0,
                              nullable = False)
    limitedTime = Column(INTEGER(unsigned = True),
                         default = 3000,
                         nullable = False) #ms
    limitedMemory = Column(INTEGER(unsigned = True),
                           default = 1024,
                           nullable = False) #MB
    problemPath = Column(TEXT,
                         nullable = True)
    isDeleted = Column(ENUM (ENUMResources().const.TRUE,
                             ENUMResources().const.FALSE),
                       default = ENUMResources().const.FALSE,
                       nullable = False)
Exemple #3
0
class ArticlesOnBoard(Base):

    __tablename__ = 'ArticlesOnBoard'

    articleIndex = Column(INTEGER(unsigned=True),
                          primary_key=True,
                          autoincrement=True,
                          nullable=False)
    articleType = Column(ENUM(ENUMResources().const.NOTICE,
                              ENUMResources().const.QUESTION,
                              ENUMResources().const.NORMAL),
                         default=ENUMResources().const.NORMAL,
                         nullable=False)  # checker for notice
    writerIdIndex = Column(INTEGER(unsigned=True),
                           ForeignKey(Members.memberIdIndex,
                                      onupdate='CASCADE',
                                      ondelete='CASCADE'),
                           nullable=False)
    problemIndex = Column(INTEGER(unsigned=True),
                          ForeignKey(Problems.problemIndex,
                                     onupdate='CASCADE',
                                     ondelete='CASCADE'),
                          nullable=True)
    title = Column(VARCHAR(1024), nullable=False)
    content = Column(TEXT, nullable=False)  # contents of article
    viewCount = Column(INTEGER(unsigned=True), default=0, nullable=False)
    replyCount = Column(INTEGER(unsigned=True), default=0, nullable=False)
    sumOfLikeCount = Column(INTEGER(unsigned=True), default=0, nullable=False)
    updateIp = Column(VARCHAR(20), nullable=False)
    updateDate = Column(DATETIME, nullable=False)
    isDeleted = Column(ENUM(ENUMResources().const.TRUE,
                            ENUMResources().const.FALSE),
                       default=ENUMResources().const.FALSE,
                       nullable=False)
Exemple #4
0
class Submissions(Base):

    __tablename__ = 'Submissions'

    submissionIndex = Column(INTEGER(unsigned=True),
                             ForeignKey(DataOfSubmissionBoard.submissionIndex,
                                        onupdate='CASCADE',
                                        ondelete='NO ACTION'),
                             primary_key=True,
                             autoincrement=False,
                             nullable=False)
    submissionCount = Column(INTEGER(unsigned=True),
                             primary_key=True,
                             autoincrement=False,
                             default=0,
                             nullable=False)
    solutionCheckCount = Column(INTEGER(unsigned=True),
                                default=0,
                                nullable=False)
    status = Column(ENUM(ENUMResources().const.NEVER_SUBMITTED,
                         ENUMResources().const.JUDGING,
                         ENUMResources().const.SOLVED,
                         ENUMResources().const.TIME_OVER,
                         ENUMResources().const.MEMORY_OVERFLOW,
                         ENUMResources().const.WRONG_ANSWER,
                         ENUMResources().const.COMPILE_ERROR,
                         ENUMResources().const.RUNTIME_ERROR,
                         ENUMResources().const.SERVER_ERROR),
                    default=ENUMResources().const.NEVER_SUBMITTED,
                    nullable=False)
    score = Column(INTEGER(unsigned=True), default=0, nullable=False)
    codeSubmissionDate = Column(DATETIME, nullable=False)
    compileErrorMessage = Column(TEXT, default=None, nullable=True)
    wrongTestCaseNumber = Column(INTEGER(unsigned=True),
                                 default=None,
                                 nullable=True)
    runTime = Column(INTEGER(unsigned=True), default=0, nullable=False)
    usedMemory = Column(INTEGER(unsigned=True), default=0, nullable=False)
    usedLanguageIndex = Column(INTEGER(unsigned=True),
                               ForeignKey(Languages.languageIndex,
                                          onupdate='CASCADE',
                                          ondelete='NO ACTION'),
                               nullable=False)
    sumOfSubmittedFileSize = Column(INTEGER(unsigned=True),
                                    nullable=False)  # Byte
class LikesOnSubmission(Base) :
    
    __tablename__ = 'LikesOnSubmission'
    
    submissionIndex = Column(INTEGER(unsigned = True),
                             ForeignKey (DataOfSubmissionBoard.submissionIndex,
                                         onupdate = 'CASCADE',
                                         ondelete = 'CASCADE'),
                             primary_key = True,
                             autoincrement = False,
                             nullable = False)
    codeLikerIdIndex = Column(INTEGER(unsigned = True),
                              ForeignKey(Members.memberIdIndex,
                                         onupdate = 'CASCADE',
                                         ondelete = 'CASCADE'),
                              primary_key = True,
                              autoincrement = False,
                              nullable = False)
    isLikeCancelled = Column(ENUM(ENUMResources().const.TRUE,
                                  ENUMResources().const.FALSE),
                             default = ENUMResources().const.FALSE,
                             nullable = False)
Exemple #6
0
class LikesOnBoard(Base) :
    
    __tablename__ = 'LikesOnBoard'
    
    articleIndex = Column(INTEGER(unsigned = True),
                          ForeignKey(ArticlesOnBoard.articleIndex,
                                     onupdate = 'CASCADE',
                                     ondelete = 'CASCADE'),
                          primary_key = True,
                          autoincrement = False,
                          nullable = False)
    boardLikerIdIndex = Column(INTEGER(unsigned = True),
                               ForeignKey(Members.memberIdIndex,
                                          onupdate = 'CASCADE',
                                          ondelete = 'CASCADE'),
                               primary_key = True,
                               autoincrement = False,
                               nullable = False)
    isLikeCancelled = Column(ENUM (ENUMResources().const.TRUE,
                                   ENUMResources().const.FALSE),
                             default = ENUMResources().const.FALSE,
                             nullable =False)
Exemple #7
0
class Members (Base) :
    
    __tablename__ ='Members'
    
    memberIdIndex = Column(INTEGER(unsigned = True),
                           primary_key =True,
                           autoincrement = True,
                           nullable = False)
    memberId = Column(VARCHAR(255),
                      nullable = False,
                      unique = True)
    password = Column(VARCHAR(1024),
                      nullable =False)
    memberName = Column(VARCHAR(1024),
                        nullable =False)
    contactNumber = Column(VARCHAR(20),
                           nullable =True)
    emailAddress = Column(VARCHAR(1024),
                          nullable =True)
    detailInformation = Column(VARCHAR(1024),
                               nullable = True)
    authority = Column(SET(SETResources().const.ADMINISTRATOR,
                           SETResources().const.USER),
                       default = SETResources().const.USER,
                       nullable = False)
    limitedUseDate = Column(DATETIME,
                            default = None,
                            nullable = True)
    signedInDate = Column(DATETIME,
                          nullable = False)
    lastAccessDate = Column(DATETIME,
                            nullable =True)
    comment = Column(TEXT,
                     nullable = True)   
    isDeleted = Column(ENUM(ENUMResources().const.TRUE, 
                            ENUMResources().const.FALSE),
                       default = ENUMResources().const.FALSE,
                       nullable = False)