Example #1
0
class Majoring(db.Model):
    """ defines table name """
    __tablename__ = 'majoring'
    __table_args__ = {'extend_existing': True}

    """ defines attributes """
    id = db.Column(db.String(30), db.ForeignKey(
        'students.id'), primary_key=True)
    maj_name = db.Column(db.String(100), db.ForeignKey(
        'majors.maj_name'), primary_key=True)
Example #2
0
class Completions(db.Model):
    """ defines table name and arguments"""
    __tablename__ = 'completions'
    __table_args__ = {'extend_existing': True}

    """ defines attributes and key constraints """
    id = db.Column(db.String(30), db.ForeignKey(
        'students.id'), primary_key=True)
    modcode = db.Column(db.String(100), db.ForeignKey(
        'modules.modcode'), nullable=False, primary_key=True)
Example #3
0
class Minoring(db.Model):
    """ defines table name """
    __tablename__ = 'minoring'
    __table_args__ = {'extend_existing': True}
    """ defines attributes """
    uid = db.Column(db.String(30),
                    db.ForeignKey('webusers.uid'),
                    primary_key=True)
    min_name = db.Column(db.String(100),
                         db.ForeignKey('minors.min_name'),
                         primary_key=True)
Example #4
0
class Preclusions(db.Model):
    """ defines table name and arguments"""
    __tablename__ = 'preclusions'
    __table_args__ = {'extend_existing': True}
    """ defines attributes and key constraints"""
    modcode = db.Column(db.String(100),
                        db.ForeignKey('modules.modcode'),
                        db.CheckConstraint('modcode <> precluded'),
                        primary_key=True)
    precluded = db.Column(db.String(100),
                          db.ForeignKey('modules.modcode'),
                          primary_key=True)
Example #5
0
class Gets(db.Model):
    """ defines table name and arguments"""
    __tablename__ = 'gets'
    __table_args__ = {'extend_existing': True}

    """ defines attributes and key constraints """
    id = db.Column(db.String(30), db.ForeignKey(
        'students.id'), primary_key=True)
    id_adder = db.Column(db.String(30), db.ForeignKey(
        'webusers.id'), primary_key=True)
    modcode = db.Column(db.String(100), nullable=False, primary_key=True)
    lnum = db.Column(db.Integer, nullable=False, primary_key=True)
    is_audit = db.Column(db.Boolean, default=False)
    db.ForeignKeyConstraint([lnum, modcode], [Lectures.lnum, Lectures.modcode])
Example #6
0
class Majors(db.Model):
    """ defines table name """
    __tablename__ = 'majors'
    __table_args__ = {'extend_existing': True}

    """ defines attributes """
    maj_name = db.Column(db.String(100), primary_key=True)
    fname = db.Column(db.String(100), db.ForeignKey(
        'faculties.fname'), default='NUS')
Example #7
0
class Exchanges(db.Model):
    """ defines table name """
    __tablename__ = 'exchanges'
    __table_args__ = {'extend_existing': True}

    """ defines attributes """
    # id serves as a primary key as well as a FK which references webuser table
    id = db.Column(db.String(30), db.ForeignKey(
        'students.id'), primary_key=True)
    home_country = db.Column(db.String(100), nullable=False)
Example #8
0
class WebAdmins(db.Model):
    """ defines table name """
    __tablename__ = 'webadmins'
    __table_args__ = {'extend_existing': True}

    """ defines attributes """
    # id serves as a primary key as well as a FK which references webuser table
    id = db.Column(db.String(30), db.ForeignKey(
        'webusers.id'), primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    contact = db.Column(db.String(100))
Example #9
0
class Minors(db.Model):
    """ defines table name """
    __tablename__ = 'minors'
    __table_args__ = {'extend_existing': True}
    """ defines attributes """
    min_name = db.Column(db.String(100), primary_key=True)
    fname = db.Column(db.String(100),
                      db.ForeignKey('faculties.fname'),
                      default='NUS')
    """ defines relationships """
    minoring = db.relationship("Minoring", cascade="all, delete, save-update")
Example #10
0
class Bids(db.Model):
    """ defines table name and arguments"""
    __tablename__ = 'bids'
    __table_args__ = {'extend_existing': True}

    """ defines attributes and key constraints"""
    id = db.Column(db.String(30), db.ForeignKey(
        'students.id'), primary_key=True)
    modcode = db.Column(db.String(100), nullable=False, primary_key=True)
    lnum = db.Column(db.Integer, nullable=False, primary_key=True)
    status = db.Column(db.Boolean, default=True)
    bid_time = db.Column(db.DateTime, primary_key=True)
    remark = db.Column(db.String(100), default="Successful bid!")
    db.ForeignKeyConstraint([lnum, modcode], [Lectures.lnum, Lectures.modcode])
Example #11
0
class Lectures(db.Model):
    """ defines table name """
    __tablename__ = 'lectures'
    __table_args__ = {'extend_existing': True}
    """ defines attributes """
    lnum = db.Column(db.Integer, primary_key=True)
    modcode = db.Column(db.String(100),
                        db.ForeignKey('modules.modcode'),
                        primary_key=True)
    quota = db.Column(db.Integer, nullable=False)
    deadline = db.Column(db.DateTime, nullable=False)
    """ defines relationship """
    slots = db.relationship("Slots", cascade="all")
    bids = db.relationship("Bids", cascade="all, delete")
    gets = db.relationship("Gets", cascade="all, delete")
Example #12
0
class Modules(db.Model):
    """ defines table name """
    __tablename__ = 'modules'
    __table_args__ = {'extend_existing': True}
    """ defines attributes """
    modcode = db.Column(db.String(100), primary_key=True)
    modname = db.Column(db.String(100), nullable=False)
    descriptions = db.Column(db.Text)
    fname = db.Column(db.String(100),
                      db.ForeignKey('faculties.fname'),
                      default='NUS')
    workload = db.Column(db.Integer, nullable=False)
    """ defines relationships """
    lectures = db.relationship("Lectures", passive_deletes="all")
    prerequisites = db.relationship("Prerequisites", cascade="all, delete")
    preclusions = db.relationship("Preclusions", cascade="all, delete")
Example #13
0
class Students(db.Model):
    """ defines table name """
    __tablename__ = 'students'
    __table_args__ = {'extend_existing': True}
    """ defines attributes """
    # UID serves as a primary key as well as a FK which references webuser table
    uid = db.Column(db.String(30),
                    db.ForeignKey('webusers.uid'),
                    primary_key=True)
    name = db.Column(db.String(100), nullable=False)
    enroll = db.Column(db.Date, nullable=False)
    """ defines relationships and cascade delete constraints """
    exchanges = db.relationship("Exchanges", cascade="all,delete")
    minoring = db.relationship("Minoring", cascade="all, delete, save-update")
    bids = db.relationship("Bids", cascade="all, delete, save-update")
    gets = db.relationship("Gets", cascade="all, delete, save-update")
    completions = db.relationship("Completions",
                                  cascade="all, delete, save-update")