class Simulation(db.Model): id = db.Column(db.Integer, primary_key=True) owner = db.Column(db.Integer, db.ForeignKey('users.id')) owner_relationship = db.relationship('User', backref=db.backref('simulations', lazy='dynamic')) parent = db.Column(db.Integer, db.ForeignKey('simulation.id'), nullable=True) # protein name * protein = db.Column(db.String(500)) # force field * force_field = db.Column(db.String(500)) # engine * engine = db.Column(db.String(255)) # title * title = db.Column(db.String(255), unique=True) # date * date = db.Column(db.DateTime) def __init__(self, owner, title, engine, force_field, protein, parent=None): self.date = datetime.utcnow() self.owner = owner self.title = title self.engine = engine self.force_field = force_field self.protein = protein if parent is not None: self.parent = parent
class Reservation(db.Model): id = db.Column(db.Integer, primary_key = True) seat_id = db.Column(db.Integer, db.ForeignKey('seat.id'), nullable = False) showing_id = db.Column(db.Integer, db.ForeignKey('showing.id'), nullable = False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable = False) def __repr__(self): return str(self.id)
class Retweet(db.Model): id = db.Column(db.Integer,primary_key=True) tweet_id = db.Column(db.Integer,db.ForeignKey('post.id')) user_id = db.Column(db.Integer,db.ForeignKey('user_mgmt.id'),nullable=False) retweet_stamp = db.Column(db.String(20),nullable=False) retweet_text = db.Column(db.String(500),nullable=False) timeline = db.relationship('Timeline',backref='from_retweet',lazy=True)
class Showing(db.Model): id = db.Column(db.Integer, primary_key=True) time = db.Column(db.String(10), nullable=False) movie_id = db.Column(db.Integer, db.ForeignKey('movie.id'), nullable=False) movie = db.relationship('Movie', backref=db.backref('showing', lazy=True)) theater_id = db.Column(db.Integer, db.ForeignKey('theater.id'), nullable=False) theater = db.relationship('Theater', backref=db.backref('showing', lazy=True)) def __repr__(self): return "{} {} in Theater {}".format(self.time, self.movie, self.theater_id)
class Comment(db.Model): __tablename__ = 'comment' id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) post_id = db.Column(db.Integer, db.ForeignKey('post.id'), nullable=False) comment_uuid = db.Column(db.String(100), nullable=False) comment_parent_uuid = db.Column(db.String(100), nullable=False) def __repr__(self): return f'{self.author.first_name+" "+self.author.last_name}, {self.post.title}, {self.comment_uuid}, {self.comment_parent_uuid}'
class Posts(db.Model): id = db.Column(db.Integer, primary_key=True) content = db.Column(db.String(200)) time_stamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey("users.id")) def __repr__(self): return f"<id : { self.id }>\n<content: { self.content }>\n<time stamp : { self.time_stamp }>"
class Post(db.Model): __tablename__ = 'post' id = db.Column(db.Integer, primary_key=True) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow()) title = db.Column(db.String(100), nullable=False) content = db.Column(db.Text, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) game_id = db.Column(db.Integer, db.ForeignKey('game.id'), nullable=False) comments = db.relationship('Comment', backref='post', lazy=True, cascade="all,delete-orphan") def __repr__(self): return f'{self.title}, {self.author.first_name+" "+self.author.last_name}'
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), nullable=False) date_posted = db.Column(db.DateTime, nullable=False, default=datetime.utcnow) content = db.Column(db.Text, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) def __repr__(self): return f"Post('{self.title}', '{self.date_posted}')"
class Post(db.Model): id = db.Column(db.Integer,primary_key=True) tweet = db.Column(db.String(500),nullable=False) stamp = db.Column(db.String(20),nullable=False) post_img = db.Column(db.String(20)) user_id = db.Column(db.Integer,db.ForeignKey('user_mgmt.id'),nullable=False) retweets = db.relationship('Retweet',backref='ori_post',lazy=True) timeline = db.relationship('Timeline',backref='from_post',lazy=True) bookmark = db.relationship('Bookmark',backref='saved_post',lazy=True)
class SimFile(db.Model): id = db.Column(db.Integer, primary_key=True) filename = db.Column(db.String(255)) simulation = db.Column(db.Integer, db.ForeignKey('simulation.id')) simulation_relationship = db.relationship('Simulation', backref=db.backref('files', lazy='dynamic')) def __init__(self, filename, simulation): self.filename = filename self.simulation = simulation.id
class Seat(db.Model): id=db.Column(db.Integer,primary_key=True) number= db.Column(db.String(5), nullable=False) theater_id = db.Column(db.Integer, db.ForeignKey('theater.id'), nullable=False) theater = db.relationship('Theater', back_populates='seats') #user_id = db.Column(db.Integer, db.ForeignKey('user.id')) #user = db.relationship('User', back_populates='reservations') def __repr__(self): return self.number
class Theater(db.Model): id=db.Column(db.Integer,primary_key=True) rowNumber=db.Column(db.Integer) #for configurable theater sizes rowSize=db.Column(db.Integer) #for configurable theater sizes location_id = db.Column(db.Integer, db.ForeignKey('location.id'), nullable=False) location = db.relationship('Location', backref=db.backref('theater', lazy=True)) seats = db.relationship('Seat', back_populates='theater', lazy=True) def __repr__(self): return "{}x{} Theater. id: {}".format(self.rowNumber, self.rowSize, self.id)
class Movie(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), unique=True, nullable=False) genre_id = db.Column(db.Integer, db.ForeignKey('genre.id'), nullable=False) genre = db.relationship('Genre', backref=db.backref('movie', lazy=True)) cast = db.relationship('Actor', secondary=movies_actors_association, lazy=True, backref=db.backref('movies', lazy=True)) def __repr__(self): return self.title
class Product(db.Model): __tablename__ = 'products' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255)) price = db.Column(db.Float) category_id = db.Column(db.Integer, db.ForeignKey('categories.id'), nullable=False) def __init__(self, name, price, category_id): self.name = name self.price = price self.category_id = category_id def __repr__(self): return '<Product %r' % (self.name)
class Timeline(db.Model): id = db.Column(db.Integer,primary_key=True) post_id = db.Column(db.Integer,db.ForeignKey('post.id'),default=None) retweet_id = db.Column(db.Integer,db.ForeignKey('retweet.id'),default=None)
from modules import db from marshmallow_sqlalchemy import ModelSchema movies_actors_association = db.Table( 'actors', db.Column('actor_id', db.Integer, db.ForeignKey('actor.id'), primary_key=True), db.Column('movie_id', db.Integer, db.ForeignKey('movie.id'), primary_key=True)) class Movie(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(100), unique=True, nullable=False) genre_id = db.Column(db.Integer, db.ForeignKey('genre.id'), nullable=False) genre = db.relationship('Genre', backref=db.backref('movie', lazy=True)) cast = db.relationship('Actor', secondary=movies_actors_association, lazy=True, backref=db.backref('movies', lazy=True)) def __repr__(self): return self.title class Genre(db.Model):
class UserGameJunction(db.Model): __tablename__ = 'user_game' user_id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True) game_id = db.Column(db.Integer, db.ForeignKey('game.id'), primary_key=True)
from modules import db from flask_security import UserMixin, RoleMixin from marshmallow_sqlalchemy import ModelSchema roles_users = db.Table( 'roles_users', db.Column('user_id', db.Integer(), db.ForeignKey('user.id')), db.Column('role_id', db.Integer(), db.ForeignKey('role.id'))) class Role(db.Model, RoleMixin): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(80), unique=True) description = db.Column(db.String(255)) def __str__(self): return self.name class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) first_name = db.Column(db.String(255)) last_name = db.Column(db.String(255)) email = db.Column(db.String(255), unique=True) password = db.Column(db.String(255)) active = db.Column(db.Boolean()) confirmed_at = db.Column(db.DateTime()) roles = db.relationship('Role', secondary=roles_users, backref=db.backref('users', lazy='dynamic')) #reservations = db.relationship('Seat',back_populates='user', lazy=True)
class Bookmark(db.Model): id = db.Column(db.Integer, primary_key=True) post_id = db.Column(db.Integer, db.ForeignKey('post.id'),default=None) user_id = db.Column(db.Integer, db.ForeignKey('user_mgmt.id'),default=None)
class GamePlatformJunction(db.Model): __tablename__ = 'game_platform' game_id = db.Column(db.Integer, db.ForeignKey('game.id'), primary_key=True) platform_id = db.Column(db.Integer, db.ForeignKey('platform.id'), primary_key=True)