update infra and schema
This commit is contained in:
@@ -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.",
|
||||
|
||||
@@ -99,5 +99,5 @@ def upgrade() -> None:
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# Compatibility-only migration for shared production databases.
|
||||
# Миграция оставлена только для совместимости с общей production-базой.
|
||||
pass
|
||||
|
||||
@@ -20,5 +20,5 @@ def upgrade() -> None:
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
# Compatibility-only migration for shared production databases.
|
||||
# Миграция оставлена только для совместимости с общей production-базой.
|
||||
pass
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Placeholder migration (ingestion tables not yet needed)
|
||||
# Заглушка миграции (таблицы ingestion пока не требуются)
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
|
||||
Reference in New Issue
Block a user