feat(backend): add indexes to SleepSession start_time and end_time

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-06-12 23:08:39 +02:00
parent da76baa2ae
commit 1e705b822a
2 changed files with 36 additions and 2 deletions
@@ -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 ###
+2 -2
View File
@@ -7,7 +7,7 @@ class SleepSession(SQLModel, table=True):
__tablename__ = "sleep_session" __tablename__ = "sleep_session"
id: Optional[int] = Field(default=None, primary_key=True) id: Optional[int] = Field(default=None, primary_key=True)
start_time: datetime = Field(nullable=False) start_time: datetime = Field(index=True, nullable=False)
end_time: Optional[datetime] = Field(default=None, nullable=True) end_time: Optional[datetime] = Field(default=None, nullable=True, index=True)
created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc)) created_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))
updated_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc)) updated_at: datetime = Field(default_factory=lambda: datetime.now(timezone.utc))