API - add missing indexes on Workout table
This commit is contained in:
parent
136162334f
commit
bfea21bc3c
@ -0,0 +1,34 @@
|
|||||||
|
"""add missing indexes on Workout table
|
||||||
|
|
||||||
|
Revision ID: e30007d681cb
|
||||||
|
Revises: ed409fd9db9d
|
||||||
|
Create Date: 2022-02-05 11:52:23.847975
|
||||||
|
|
||||||
|
"""
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = 'e30007d681cb'
|
||||||
|
down_revision = 'ed409fd9db9d'
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.create_index(op.f('ix_workouts_map_id'), 'workouts', ['map_id'], unique=False)
|
||||||
|
op.create_index(op.f('ix_workouts_sport_id'), 'workouts', ['sport_id'], unique=False)
|
||||||
|
op.create_index(op.f('ix_workouts_user_id'), 'workouts', ['user_id'], unique=False)
|
||||||
|
op.create_index(op.f('ix_workouts_workout_date'), 'workouts', ['workout_date'], unique=False)
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.drop_index(op.f('ix_workouts_workout_date'), table_name='workouts')
|
||||||
|
op.drop_index(op.f('ix_workouts_user_id'), table_name='workouts')
|
||||||
|
op.drop_index(op.f('ix_workouts_sport_id'), table_name='workouts')
|
||||||
|
op.drop_index(op.f('ix_workouts_map_id'), table_name='workouts')
|
||||||
|
# ### end Alembic commands ###
|
@ -593,13 +593,13 @@ class TestGetWorkoutsWithFilters(ApiTestCaseMixin):
|
|||||||
'Fri, 23 Feb 2018 00:00:00 GMT'
|
'Fri, 23 Feb 2018 00:00:00 GMT'
|
||||||
== data['data']['workouts'][0]['workout_date']
|
== data['data']['workouts'][0]['workout_date']
|
||||||
)
|
)
|
||||||
assert '0:10:00' == data['data']['workouts'][0]['duration']
|
assert '0:16:40' == data['data']['workouts'][0]['duration']
|
||||||
assert 'creation_date' in data['data']['workouts'][1]
|
assert 'creation_date' in data['data']['workouts'][1]
|
||||||
assert (
|
assert (
|
||||||
'Fri, 23 Feb 2018 00:00:00 GMT'
|
'Fri, 23 Feb 2018 00:00:00 GMT'
|
||||||
== data['data']['workouts'][1]['workout_date']
|
== data['data']['workouts'][1]['workout_date']
|
||||||
)
|
)
|
||||||
assert '0:16:40' == data['data']['workouts'][1]['duration']
|
assert '0:10:00' == data['data']['workouts'][1]['duration']
|
||||||
assert data['pagination'] == {
|
assert data['pagination'] == {
|
||||||
'has_next': False,
|
'has_next': False,
|
||||||
'has_prev': False,
|
'has_prev': False,
|
||||||
|
@ -124,9 +124,11 @@ class Workout(BaseModel):
|
|||||||
unique=True,
|
unique=True,
|
||||||
nullable=False,
|
nullable=False,
|
||||||
)
|
)
|
||||||
user_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
|
user_id = db.Column(
|
||||||
|
db.Integer, db.ForeignKey('users.id'), index=True, nullable=False
|
||||||
|
)
|
||||||
sport_id = db.Column(
|
sport_id = db.Column(
|
||||||
db.Integer, db.ForeignKey('sports.id'), nullable=False
|
db.Integer, db.ForeignKey('sports.id'), index=True, nullable=False
|
||||||
)
|
)
|
||||||
title = db.Column(db.String(255), nullable=True)
|
title = db.Column(db.String(255), nullable=True)
|
||||||
gpx = db.Column(db.String(255), nullable=True)
|
gpx = db.Column(db.String(255), nullable=True)
|
||||||
@ -134,7 +136,7 @@ class Workout(BaseModel):
|
|||||||
modification_date = db.Column(
|
modification_date = db.Column(
|
||||||
db.DateTime, onupdate=datetime.datetime.utcnow
|
db.DateTime, onupdate=datetime.datetime.utcnow
|
||||||
)
|
)
|
||||||
workout_date = db.Column(db.DateTime, nullable=False)
|
workout_date = db.Column(db.DateTime, index=True, nullable=False)
|
||||||
duration = db.Column(db.Interval, nullable=False)
|
duration = db.Column(db.Interval, nullable=False)
|
||||||
pauses = db.Column(db.Interval, nullable=True)
|
pauses = db.Column(db.Interval, nullable=True)
|
||||||
moving = db.Column(db.Interval, nullable=True)
|
moving = db.Column(db.Interval, nullable=True)
|
||||||
@ -147,7 +149,7 @@ class Workout(BaseModel):
|
|||||||
ave_speed = db.Column(db.Numeric(6, 2), nullable=True) # km/h
|
ave_speed = db.Column(db.Numeric(6, 2), nullable=True) # km/h
|
||||||
bounds = db.Column(postgresql.ARRAY(db.Float), nullable=True)
|
bounds = db.Column(postgresql.ARRAY(db.Float), nullable=True)
|
||||||
map = db.Column(db.String(255), nullable=True)
|
map = db.Column(db.String(255), nullable=True)
|
||||||
map_id = db.Column(db.String(50), nullable=True)
|
map_id = db.Column(db.String(50), index=True, nullable=True)
|
||||||
weather_start = db.Column(JSON, nullable=True)
|
weather_start = db.Column(JSON, nullable=True)
|
||||||
weather_end = db.Column(JSON, nullable=True)
|
weather_end = db.Column(JSON, nullable=True)
|
||||||
notes = db.Column(db.String(500), nullable=True)
|
notes = db.Column(db.String(500), nullable=True)
|
||||||
|
Loading…
Reference in New Issue
Block a user