f1tness_parser/backend/app/core/database/tables.py

54 lines
1.3 KiB
Python

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()),
)