improve batch sync add postgres upsert fix sync locking improve listing sync speed up scraper clean up project prepare for github update docker setup
30 lines
1.2 KiB
Python
30 lines
1.2 KiB
Python
# Индексы производительности
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
|
|
revision: str = "002_add_indexes"
|
|
down_revision: Union[str, None] = "001_initial"
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
op.create_index("ix_cars_brand", "cars", ["brand"])
|
|
op.create_index("ix_cars_brand_model", "cars", ["brand", "model"])
|
|
op.create_index("ix_cars_year", "cars", ["year"])
|
|
op.create_index("ix_cars_is_sold", "cars", ["is_sold"])
|
|
op.create_index("ix_cars_last_seen_at", "cars", ["last_seen_at"])
|
|
op.create_index("ix_images_car_id", "images", ["car_id"])
|
|
op.create_index("ix_sync_runs_status", "sync_runs", ["status"])
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.drop_index("ix_sync_runs_status", table_name="sync_runs")
|
|
op.drop_index("ix_images_car_id", table_name="images")
|
|
op.drop_index("ix_cars_last_seen_at", table_name="cars")
|
|
op.drop_index("ix_cars_is_sold", table_name="cars")
|
|
op.drop_index("ix_cars_year", table_name="cars")
|
|
op.drop_index("ix_cars_brand_model", table_name="cars")
|
|
op.drop_index("ix_cars_brand", table_name="cars")
|