"""expand_activity_schema_metrics Revision ID: bd21a0528865 Revises: 85c60ed462bf Create Date: 2026-01-01 22:53:14.358635 """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa # revision identifiers, used by Alembic. revision: str = 'bd21a0528865' down_revision: Union[str, None] = '85c60ed462bf' branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### # distance and calories already exist in initial_migration # op.add_column('activities', sa.Column('distance', sa.Float(), nullable=True)) # op.add_column('activities', sa.Column('calories', sa.Float(), nullable=True)) op.add_column('activities', sa.Column('avg_hr', sa.Integer(), nullable=True)) op.add_column('activities', sa.Column('max_hr', sa.Integer(), nullable=True)) op.add_column('activities', sa.Column('avg_speed', sa.Float(), nullable=True)) op.add_column('activities', sa.Column('max_speed', sa.Float(), nullable=True)) op.add_column('activities', sa.Column('elevation_gain', sa.Float(), nullable=True)) op.add_column('activities', sa.Column('elevation_loss', sa.Float(), nullable=True)) op.add_column('activities', sa.Column('avg_cadence', sa.Integer(), nullable=True)) op.add_column('activities', sa.Column('max_cadence', sa.Integer(), nullable=True)) op.add_column('activities', sa.Column('steps', sa.Integer(), nullable=True)) op.add_column('activities', sa.Column('aerobic_te', sa.Float(), nullable=True)) op.add_column('activities', sa.Column('anaerobic_te', sa.Float(), nullable=True)) op.add_column('activities', sa.Column('avg_power', sa.Integer(), nullable=True)) op.add_column('activities', sa.Column('max_power', sa.Integer(), nullable=True)) op.add_column('activities', sa.Column('norm_power', sa.Integer(), nullable=True)) op.add_column('activities', sa.Column('tss', sa.Float(), nullable=True)) op.add_column('activities', sa.Column('vo2_max', sa.Float(), nullable=True)) # ### end Alembic commands ### def downgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### op.drop_column('activities', 'vo2_max') op.drop_column('activities', 'tss') op.drop_column('activities', 'norm_power') op.drop_column('activities', 'max_power') op.drop_column('activities', 'avg_power') op.drop_column('activities', 'anaerobic_te') op.drop_column('activities', 'aerobic_te') op.drop_column('activities', 'steps') op.drop_column('activities', 'max_cadence') op.drop_column('activities', 'avg_cadence') op.drop_column('activities', 'elevation_loss') op.drop_column('activities', 'elevation_gain') op.drop_column('activities', 'max_speed') op.drop_column('activities', 'avg_speed') op.drop_column('activities', 'max_hr') op.drop_column('activities', 'avg_hr') # op.drop_column('activities', 'calories') # op.drop_column('activities', 'distance') # ### end Alembic commands ###