20 lines
958 B
Python
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')
|