Files
PlantGuideScraper/backend/add_indexes.py
2026-04-12 09:54:27 -05:00

20 lines
958 B
Python

#!/usr/bin/env python
"""Add missing database indexes."""
from sqlalchemy import text
from app.database import engine
with engine.connect() as conn:
# Single column indexes
conn.execute(text('CREATE INDEX IF NOT EXISTS ix_images_license ON images(license)'))
conn.execute(text('CREATE INDEX IF NOT EXISTS ix_images_status ON images(status)'))
conn.execute(text('CREATE INDEX IF NOT EXISTS ix_images_source ON images(source)'))
conn.execute(text('CREATE INDEX IF NOT EXISTS ix_images_species_id ON images(species_id)'))
conn.execute(text('CREATE INDEX IF NOT EXISTS ix_images_phash ON images(phash)'))
# Composite indexes for common query patterns
conn.execute(text('CREATE INDEX IF NOT EXISTS ix_images_species_status ON images(species_id, status)'))
conn.execute(text('CREATE INDEX IF NOT EXISTS ix_images_status_created ON images(status, created_at)'))
conn.commit()
print('All indexes created successfully')