class Rating(db.Model): id = db.Column(db.Integer, db.Sequence('seq_reg_id', start=1, increment=1), unique=True, primary_key=True) user = db.Column(db.String, db.ForeignKey('rater.username'), nullable=False) restaurant = db.Column(db.Integer, db.ForeignKey('restaurant.restaurantId'), nullable=False) date = db.Column(db.DateTime) price = db.Column(db.Integer, db.CheckConstraint('price<=5'), db.CheckConstraint('price>=1')) food = db.Column(db.Integer, db.CheckConstraint('food<=5'), db.CheckConstraint('food>=1')) mood = db.Column(db.Integer, db.CheckConstraint('mood<=5'), db.CheckConstraint('mood>=1')) staff = db.Column(db.Integer, db.CheckConstraint('staff<=5'), db.CheckConstraint('staff>=1')) comments = db.Column(db.Text) def __init__(self, user, date, price, food, mood, staff, comments, restaurant): self.user = user self.date = date self.price = price self.food = food self.mood = mood self.staff = staff self.comments = comments self.restaurant = restaurant def __repr__(self): return '<Rating %r, %r>' % (self.user, self.date)
class MenuItem(db.Model): itemId = db.Column(db.Integer, db.Sequence('seq_reg_id', start=1, increment=1), unique=True) name = db.Column(db.String, primary_key=True) itemType = db.Column(db.String) category = db.Column(db.String) description = db.Column(db.Text) price = db.Column(db.Integer) restaurant = db.Column(db.Integer, db.ForeignKey('restaurant.restaurantId'), nullable=False, primary_key=True) def __init__(self, name, itemType, category, description, price, restaurant): self.name = name self.itemType = itemType self.category = category self.description = description self.price = price self.restaurant = restaurant def __repr__(self): return '<MenuItem %r, Restaurant %r>' % (self.name, self.restaurant)
class CuisineType(db.Model): id = db.Column(db.Integer, db.Sequence('seq_reg_id', start=1, increment=1), unique=True) name = db.Column(db.String(50), nullable=False, primary_key=True) restaurantId = db.Column(db.Integer, db.ForeignKey("restaurant.id"), primary_key=True)
class MenuItem(db.Model): id = db.Column(db.Integer, db.Sequence('seq_reg_id', start=1, increment=1), unique=True) name = db.Column(db.String(50), nullable=False, primary_key=True) category = db.Column(db.String(50)) price = db.Column(db.Integer, nullable=False) description = db.Column(db.Text()) type = db.Column(db.String(20)) restaurantId = db.Column(db.Integer, db.ForeignKey("restaurant.id"), primary_key=True)
class Location(db.Model): id = db.Column(db.Integer, db.Sequence('seq_reg_id', start=1, increment=1), unique=True) restaurantId = db.Column(db.Integer, db.ForeignKey("restaurant.id"), primary_key=True) phoneNumber = db.Column(db.String()) managerName = db.Column(db.String(), server_default="Joe Fresh") address = db.Column(db.String(), nullable=False, primary_key=True) openTime = db.Column(db.Time) closeTime = db.Column(db.Time)
class MenuItemRating(db.Model): id = db.Column(db.Integer, db.Sequence('seq_reg_id', start=1, increment=1), unique=True) restaurantId = db.Column(db.Integer, db.ForeignKey("restaurant.id"), primary_key=True) menuitemId = db.Column(db.Integer, db.ForeignKey("menu_item.id"), primary_key=True) userId = db.Column(db.Integer, db.ForeignKey("user.id"), primary_key=True) rating = db.Column(db.Integer, db.CheckConstraint('rating<6'), db.CheckConstraint('rating>0')) date = db.Column(db.Date)