Files
FitTrack_GarminSync/examples/GarminSync/migrations/versions/20240821150000_add_cycling_columns.py

37 lines
2.2 KiB
Python

from alembic import op
import sqlalchemy as sa
def upgrade():
op.add_column('power_analysis', sa.Column('peak_power_1s', sa.Float(), nullable=True))
op.add_column('power_analysis', sa.Column('peak_power_5s', sa.Float(), nullable=True))
op.add_column('power_analysis', sa.Column('peak_power_20s', sa.Float(), nullable=True))
op.add_column('power_analysis', sa.Column('peak_power_300s', sa.Float(), nullable=True))
op.add_column('power_analysis', sa.Column('normalized_power', sa.Float(), nullable=True))
op.add_column('power_analysis', sa.Column('intensity_factor', sa.Float(), nullable=True))
op.add_column('power_analysis', sa.Column('training_stress_score', sa.Float(), nullable=True))
op.add_column('gearing_analysis', sa.Column('estimated_chainring_teeth', sa.Integer(), nullable=True))
op.add_column('gearing_analysis', sa.Column('estimated_cassette_teeth', sa.Integer(), nullable=True))
op.add_column('gearing_analysis', sa.Column('gear_ratio', sa.Float(), nullable=True))
op.add_column('gearing_analysis', sa.Column('gear_inches', sa.Float(), nullable=True))
op.add_column('gearing_analysis', sa.Column('development_meters', sa.Float(), nullable=True))
op.add_column('gearing_analysis', sa.Column('confidence_score', sa.Float(), nullable=True))
op.add_column('gearing_analysis', sa.Column('analysis_method', sa.String(), default="singlespeed_estimation"))
def downgrade():
op.drop_column('power_analysis', 'peak_power_1s')
op.drop_column('power_analysis', 'peak_power_5s')
op.drop_column('power_analysis', 'peak_power_20s')
op.drop_column('power_analysis', 'peak_power_300s')
op.drop_column('power_analysis', 'normalized_power')
op.drop_column('power_analysis', 'intensity_factor')
op.drop_column('power_analysis', 'training_stress_score')
op.drop_column('gearing_analysis', 'estimated_chainring_teeth')
op.drop_column('gearing_analysis', 'estimated_cassette_teeth')
op.drop_column('gearing_analysis', 'gear_ratio')
op.drop_column('gearing_analysis', 'gear_inches')
op.drop_column('gearing_analysis', 'development_meters')
op.drop_column('gearing_analysis', 'confidence_score')
op.drop_column('gearing_analysis', 'analysis_method')