class User(db.Model, UserMixin): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(50), nullable=False, unique=True) password = db.Column(db.String(255), nullable=False, server_default='') email = db.Column(db.String(255), nullable=False, unique=True) confirmed_at = db.Column(db.DateTime()) active = db.Column('is_active', db.Boolean(), nullable=False, server_default='0') first_name = db.Column(db.String(100), nullable=False, server_default='') last_name = db.Column(db.String(100), nullable=False, server_default='') roles = db.relationship('Role', secondary='user_roles', backref=db.backref('users', lazy='dynamic'))
class Version(db.Model): version_id = db.Column(db.Integer, primary_key=True) date = db.Column(db.Date) created = db.Column(db.DateTime) song_id = db.Column(db.Integer) # Song.phishin_id url = db.Column(db.String(256)) created_by = db.Column(db.Integer) mu = db.Column(db.Float) sigma = db.Column(db.Float) phishin_id = db.Column(db.Integer) show_id = db.Column(db.Integer)
class Role(db.Model): id = db.Column(db.Integer(), primary_key=True) name = db.Column(db.String(50), unique=True)
class Band(db.Model): band_id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(128)) desc = db.Column(db.Text)
class Show(db.Model): show_id = db.Column(db.Integer, primary_key=True) phishin_id = db.Column(db.Integer) venue_id = db.Column(db.Integer) date = db.Column(db.String(128))
class Venue(db.Model): venue_id = db.Column(db.Integer, primary_key=True) phishin_id = db.Column(db.Integer) location = db.Column(db.String(128)) name = db.Column(db.String(128))
class Song(db.Model): song_id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(128)) desc = db.Column(db.String(128)) band_id = db.Column(db.Integer, index=True) phishin_id = db.Column(db.Integer)