update infra and schema

This commit is contained in:
qananasikq
2026-05-11 12:45:37 +03:00
parent 5049a29ef7
commit 124dfc514f
13 changed files with 124 additions and 81 deletions

View File

@@ -16,7 +16,7 @@ from mobilede_scraper.storage.models import Base
config = context.config
VERSION_TABLE = "MOBILEDE_parser_alembic_version"
# Logging
# Логирование
if config.config_file_name is not None:
fileConfig(config.config_file_name)
@@ -28,7 +28,7 @@ target_metadata = Base.metadata
def run_migrations_offline() -> None:
# Run migrations in 'offline' mode.
# Запуск миграций в офлайн-режиме.
url = config.get_main_option("sqlalchemy.url")
context.configure(
url=url,
@@ -42,7 +42,7 @@ def run_migrations_offline() -> None:
def run_migrations_online() -> None:
# Run migrations in 'online' mode.
# Запуск миграций в онлайн-режиме.
connectable = engine_from_config(
config.get_section(config.config_ini_section, {}),
prefix="sqlalchemy.",

View File

@@ -99,5 +99,5 @@ def upgrade() -> None:
def downgrade() -> None:
# Compatibility-only migration for shared production databases.
# Миграция оставлена только для совместимости с общей production-базой.
pass

View File

@@ -20,5 +20,5 @@ def upgrade() -> None:
def downgrade() -> None:
# Compatibility-only migration for shared production databases.
# Миграция оставлена только для совместимости с общей production-базой.
pass

View File

@@ -10,21 +10,21 @@ depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# Partial index для активных машин MOBILEDE (is_sold = FALSE)
# Ускоряет поиск при mark_sold операциях
# Частичный индекс для активных машин MOBILEDE (is_sold = FALSE).
# Ускоряет поиск при операциях mark_sold.
op.execute(
'CREATE INDEX IF NOT EXISTS "ix_MOBILEDE_cars_active_MOBILEDE" '
'ON "MOBILEDE_cars" (origin_url) '
"WHERE is_sold = FALSE AND origin_id LIKE 'mobilede:%'"
)
# Composite index для проверки дубликатов изображений
# Составной индекс для проверки дубликатов изображений.
op.execute(
'CREATE INDEX IF NOT EXISTS "ix_MOBILEDE_images_car_id_fullres" '
'ON "MOBILEDE_images" (car_id, fullres_image)'
)
# Index для быстрого поиска existing машин по origin_url
# Индекс для быстрого поиска существующих машин по origin_url.
op.execute(
'CREATE INDEX IF NOT EXISTS "ix_MOBILEDE_cars_origin_url_id" '
'ON "MOBILEDE_cars" (origin_url, origin_id)'
@@ -32,5 +32,5 @@ def upgrade() -> None:
def downgrade() -> None:
# Compatibility-only migration for shared production databases.
# Миграция оставлена только для совместимости с общей production-базой.
pass

View File

@@ -1,4 +1,4 @@
# Placeholder migration (ingestion tables not yet needed)
# Заглушка миграции (таблицы ingestion пока не требуются)
from typing import Sequence, Union
from alembic import op