diff --git a/backend/alembic/versions/a3282e5bef40_add_indexes_to_sleep_session.py b/backend/alembic/versions/a3282e5bef40_add_indexes_to_sleep_session.py new file mode 100644 index 0000000..11a24d7 --- /dev/null +++ b/backend/alembic/versions/a3282e5bef40_add_indexes_to_sleep_session.py @@ -0,0 +1,34 @@ +"""add indexes to sleep_session + +Revision ID: a3282e5bef40 +Revises: 7a424a341b1d +Create Date: 2026-06-12 22:55:33.711961 + +""" +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = 'a3282e5bef40' +down_revision: Union[str, Sequence[str], None] = '7a424a341b1d' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + """Upgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.create_index(op.f('ix_sleep_session_end_time'), 'sleep_session', ['end_time'], unique=False) + op.create_index(op.f('ix_sleep_session_start_time'), 'sleep_session', ['start_time'], unique=False) + # ### end Alembic commands ### + + +def downgrade() -> None: + """Downgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_sleep_session_start_time'), table_name='sleep_session') + op.drop_index(op.f('ix_sleep_session_end_time'), table_name='sleep_session') + # ### end Alembic commands ### diff --git a/backend/app/models.py b/backend/app/models.py index c0b8af7..75c6eb1 100644 --- a/backend/app/models.py +++ b/backend/app/models.py @@ -7,7 +7,7 @@ class SleepSession(SQLModel, table=True): __tablename__ = "sleep_session" id: Optional[int] = Field(default=None, primary_key=True) - start_time: datetime = Field(nullable=False) - end_time: Optional[datetime] = Field(default=None, nullable=True) + start_time: datetime = Field(index=True, nullable=False) + end_time: Optional[datetime] = Field(default=None, nullable=True, index=True) created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc)) updated_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))