def upgrade(): op.create_table( 'users', sa.Column('id', UUID(as_uuid=True), nullable=False, index=True, primary_key=True), sa.Column('email', sa.String, nullable=False, index=True, unique=True), sa.Column('username', sa.String, nullable=False, index=True, unique=True), sa.Column('password', sa.String, nullable=False), sa.Column('first_name', sa.String, nullable=False), sa.Column('last_name', sa.String, nullable=False), sa.Column('entity', sa.String, nullable=False), sa.Column('gender', sa.String, nullable=True), sa.Column('status', sa.String, nullable=False), sa.Column('course_id', UUID(as_uuid=True), sa.ForeignKey('courses.id'), nullable=True), sa.Column('created_at', sa.DateTime, nullable=False), sa.Column('updated_at', sa.DateTime, nullable=True))
def upgrade(): op.create_table( 'classes', sa.Column('id', UUID(as_uuid=True) , nullable=False, index=True, primary_key=True), sa.Column('name', sa.String , nullable=False), sa.Column('subject_id', UUID(as_uuid=True) , sa.ForeignKey('subjects.id'), nullable=True), sa.Column('professor_id', UUID(as_uuid=True) , sa.ForeignKey('users.id'), nullable=True), sa.Column('status', sa.String , nullable=False), sa.Column('created_at', sa.DateTime , nullable=False), sa.Column('updated_at', sa.DateTime , nullable=True) )
def upgrade(): op.create_table( 'topics', sa.Column('id', UUID(as_uuid=True), nullable=False, index=True, primary_key=True), sa.Column('topic_date', sa.DateTime, nullable=False), sa.Column('class_id', UUID(as_uuid=True), sa.ForeignKey('classes.id'), nullable=True), sa.Column('status', sa.String, nullable=False), sa.Column('created_at', sa.DateTime, nullable=False), sa.Column('updated_at', sa.DateTime, nullable=True))
def upgrade(): op.create_table( 'attendances', sa.Column('id', UUID(as_uuid=True), nullable=False, index=True, primary_key=True), sa.Column('topic_id', UUID(as_uuid=True), sa.ForeignKey('topics.id'), nullable=True), sa.Column('student_id', UUID(as_uuid=True), sa.ForeignKey('users.id'), nullable=True), sa.Column('created_at', sa.DateTime, nullable=False), sa.Column('updated_at', sa.DateTime, nullable=True))
class StepIngredient(db.Model): id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4, unique=True, nullable=False) # ingredient_id = db.Column(UUID(as_uuid=True), db.ForeignKey('ingredient.id'), nullable=False) step_id = db.Column(UUID(as_uuid=True), db.ForeignKey('step.id'), nullable=False) weight = db.Column(db.Float, nullable=False) created_at = db.Column(db.DateTime, default=datetime.utcnow) def __init__(self, weight): self.weight = weight def __repr__(self): pass
class Rate(db.Model): __tablename__ = 'rates' id = db.Column(UUID(as_uuid=True), primary_key=True) key = db.Column(db.String(10), nullable=False) base_currency = db.Column(db.String(10), nullable=False) target_currency = db.Column(db.String(10), nullable=False) rate = db.Column(db.Float(53), nullable=False) use_date = db.Column(db.String(20), nullable=False) create_time = db.Column(db.DateTime, nullable=False)
class ToDoItem(Base): __tablename__ = 'todo' id = Column(UUID(as_uuid=True), primary_key=True, default=uuid4) completed = Column(Boolean) title = Column(String) def __repr__(self): return "<ToDo(id='%s', title='%s', completed='%s' >" % ( self.id, self.title, self.completed)
def upgrade(): op.create_table( 'registries', sa.Column('id', UUID(as_uuid=True), nullable=False, index=True, primary_key=True), sa.Column('course_id', UUID(as_uuid=True), sa.ForeignKey('courses.id'), nullable=True), sa.Column('subject_id', UUID(as_uuid=True), sa.ForeignKey('subjects.id'), nullable=True), sa.Column('status', sa.String, nullable=False), sa.Column('created_at', sa.DateTime, nullable=False), sa.Column('updated_at', sa.DateTime, nullable=True))
class CountryCurrency(db.Model): __tablename__ = 'country_currency' id = db.Column(UUID(as_uuid=True), primary_key=True) country = db.Column(db.String(10), nullable=False) country_name = db.Column(db.String(100)) currency = db.Column(db.String(10), nullable=False) currency_name = db.Column(db.String(100)) symbol = db.Column(db.String(30)) unit = db.Column(db.String(30)) digit = db.Column(db.String(30)) last_updated = db.Column(db.DateTime, nullable=False)
class Eprice(db.Model): __tablename__ = 'eprices' id = db.Column(UUID(as_uuid=True), primary_key=True) name = db.Column(db.String(100)) name_tw = db.Column(db.String(100)) name_en = db.Column(db.String(100)) name_jp = db.Column(db.String(100)) country = db.Column(db.String(10), nullable=False) onsale = db.Column(db.Boolean, unique=False, default=False) eprice = db.Column(db.Float(53), nullable=False) eprice_specified = db.Column(db.Float(53), nullable=True) currency_specified = db.Column(db.String(10), nullable=True) create_time = db.Column(db.String(500), nullable=False) update_time = db.Column(db.DateTime, nullable=False)
class Ingredient(db.Model): id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4, unique=True, nullable=False) name = db.Column(db.String(120), nullable=False) created_at = db.Column(db.DateTime, default=datetime.utcnow) # Type as an enum def __init__(self, name): self.name = name def __repr__(self): pass
class ModelMixin(object): __tablename__ = None id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid4) created_at = db.Column(db.DateTime(timezone=True), default=datetime.utcnow) updated_at = db.Column(db.DateTime(timezone=True), default=datetime.utcnow) def save(self): try: self.updated_at = datetime.utcnow() db.session.add(self) db.session.commit() except: db.session.rollback() raise def delete(self): try: db.session.delete(self) db.session.commit() except: db.session.rollback() raise @classmethod def get_all(cls): return db.session.query(cls).all() @classmethod def count_all(cls): return db.session.query(cls).count() @classmethod def get(cls, id_): return db.session.query(cls).get(id_) if id_ else None @classmethod def query(cls): return db.session.query(cls) def __repr__(self): return "<%s (id=%s)>" % (self.__class__.__name__, self.id) def __str__(self): return self.__repr__()
class Game(db.Model): __tablename__ = 'games' id = db.Column(UUID(as_uuid=True), primary_key=True) nsuid = db.Column(db.String(100), nullable=False) code = db.Column(db.String(100), nullable=False) name = db.Column(db.String(100), nullable=False) name_tw = db.Column(db.String(100)) name_en = db.Column(db.String(100)) name_jp = db.Column(db.String(100)) category = db.Column(db.String(100)) cover = db.Column(db.String(300)) players = db.Column(db.String(30)) onsale_jp = db.Column(db.Boolean) currency_jp = db.Column(db.String(10)) eprice_jp = db.Column(db.Float(53)) onsale_us = db.Column(db.Boolean) currency_us = db.Column(db.String(10)) eprice_us = db.Column(db.Float(53)) onsale_ca = db.Column(db.Boolean) currency_ca = db.Column(db.String(10)) eprice_ca = db.Column(db.Float(53)) onsale_za = db.Column(db.Boolean) currency_za = db.Column(db.String(10)) eprice_za = db.Column(db.Float(53)) onsale_nz = db.Column(db.Boolean) currency_nz = db.Column(db.String(10)) eprice_nz = db.Column(db.Float(53)) onsale_nl = db.Column(db.Boolean) currency_nl = db.Column(db.String(10)) eprice_nl = db.Column(db.Float(53)) onsale_mx = db.Column(db.Boolean) currency_mx = db.Column(db.String(10)) eprice_mx = db.Column(db.Float(53)) onsale_it = db.Column(db.Boolean) currency_it = db.Column(db.String(10)) eprice_it = db.Column(db.Float(53)) onsale_ch = db.Column(db.Boolean) currency_ch = db.Column(db.String(10)) eprice_ch = db.Column(db.Float(53)) onsale_au = db.Column(db.Boolean) currency_au = db.Column(db.String(10)) eprice_au = db.Column(db.Float(53)) create_time = db.Column(db.DateTime, nullable=False) update_time = db.Column(db.DateTime, nullable=False)
class Recipe(db.Model): id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4, unique=True, nullable=False) name = db.Column(db.String(120), nullable=False) total_steps = db.Column(db.Integer, nullable=False) total_minutes = db.Column(db.Integer, nullable=True) is_public = db.Column(db.Boolean, nullable=False, default=False) created_at = db.Column(db.DateTime, default=datetime.utcnow) steps = db.relationship('Step', backref='recipe_id', lazy=True) def __init__(self, name): self.name = name self.total_steps = 0 self.total_minutes = 0 def __repr__(self): return f'Recipe: {self.id} Name: {self.name}'
class Step(db.Model): id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4, unique=True, nullable=False) step_number = db.Column(db.Integer, nullable=False) created_at = db.Column(db.DateTime, default=datetime.utcnow) minutes = db.Column(db.Integer, nullable=False) notes = db.Column(db.Text, nullable=True) recipe_id = db.Column(db.UUID(as_uuid=True), db.ForeignKey('recipe.id'), nullable=False) def __init__(self, minutes, notes): self.minutes = minutes self.notes = notes def __repr__(self): return f'Step {self.step_number} Total time: {self.minutes}'
def load_dialect_impl(self, dialect): if dialect.name == 'postgresql': return dialect.type_descriptor(UUID()) # pragma: no cover else: return dialect.type_descriptor(CHAR(32))
def load_dialect_impl(self, dialect): if dialect.name == "postgresql": return dialect.type_descriptor(UUID()) else: return dialect.type_descriptor(CHAR(32))