from sqlalchemy import ( Boolean, Column, Date, DateTime, Float, ForeignKey, Integer, MetaData, String, Table, func, ) metadata = MetaData() trainings = Table( "trainings", metadata, Column("id", Integer, primary_key=True), Column("date", Date, nullable=False, index=True), Column("trainer", String(100)), Column("created_at", DateTime(timezone=True), nullable=False, server_default=func.now()), ) exercises = Table( "exercises", metadata, Column("id", Integer, primary_key=True), Column( "training_id", ForeignKey("trainings.id", ondelete="CASCADE"), nullable=False, index=True, ), Column("name", String(255), nullable=False, index=True), Column("splitted_weight", Boolean, nullable=False, server_default="false"), Column("created_at", DateTime(timezone=True), nullable=False, server_default=func.now()), ) approaches = Table( "approaches", metadata, Column("id", Integer, primary_key=True), Column( "exercise_id", ForeignKey("exercises.id", ondelete="CASCADE"), nullable=False, index=True, ), Column("weight", Float, nullable=False), Column("reps", Integer, nullable=False), Column("created_at", DateTime(timezone=True), nullable=False, server_default=func.now()), )