add mobilede scraper
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Начальная схема: iaai_cars, iaai_images, iaai_sync_runs
|
||||
# Начальная схема: MOBILEDE_cars, MOBILEDE_images, MOBILEDE_sync_runs
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
@@ -29,10 +29,10 @@ def _index_exists(table_name: str, index_name: str) -> bool:
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
# Таблица iaai_cars — аукционные машины с IAAI
|
||||
if not _table_exists("iaai_cars"):
|
||||
# Таблица MOBILEDE_cars — аукционные машины с MOBILEDE
|
||||
if not _table_exists("MOBILEDE_cars"):
|
||||
op.create_table(
|
||||
"iaai_cars",
|
||||
"MOBILEDE_cars",
|
||||
sa.Column("id", sa.BigInteger, primary_key=True, autoincrement=True),
|
||||
sa.Column("parser_id", sa.String(50), nullable=False, unique=True),
|
||||
sa.Column("brand", sa.String(50), nullable=False),
|
||||
@@ -65,26 +65,26 @@ def upgrade() -> None:
|
||||
sa.Column("last_seen_at", sa.DateTime(timezone=True), nullable=False, server_default=sa.func.now()),
|
||||
)
|
||||
|
||||
if not _index_exists("iaai_cars", "ix_iaai_cars_origin_url"):
|
||||
op.create_index("ix_iaai_cars_origin_url", "iaai_cars", ["origin_url"])
|
||||
if not _index_exists("iaai_cars", "ix_iaai_cars_origin_id"):
|
||||
op.create_index("ix_iaai_cars_origin_id", "iaai_cars", ["origin_id"], unique=True)
|
||||
if not _index_exists("MOBILEDE_cars", "ix_MOBILEDE_cars_origin_url"):
|
||||
op.create_index("ix_MOBILEDE_cars_origin_url", "MOBILEDE_cars", ["origin_url"])
|
||||
if not _index_exists("MOBILEDE_cars", "ix_MOBILEDE_cars_origin_id"):
|
||||
op.create_index("ix_MOBILEDE_cars_origin_id", "MOBILEDE_cars", ["origin_id"], unique=True)
|
||||
|
||||
# Таблица iaai_images — изображения машин
|
||||
if not _table_exists("iaai_images"):
|
||||
# Таблица MOBILEDE_images — изображения машин
|
||||
if not _table_exists("MOBILEDE_images"):
|
||||
op.create_table(
|
||||
"iaai_images",
|
||||
"MOBILEDE_images",
|
||||
sa.Column("id", sa.BigInteger, primary_key=True, autoincrement=True),
|
||||
sa.Column("fullres_image", sa.String, nullable=False),
|
||||
sa.Column("preview_image", sa.String, nullable=False),
|
||||
sa.Column("order_index", sa.Integer, nullable=False),
|
||||
sa.Column("car_id", sa.Integer, sa.ForeignKey("iaai_cars.id", ondelete="CASCADE"), nullable=False),
|
||||
sa.Column("car_id", sa.Integer, sa.ForeignKey("MOBILEDE_cars.id", ondelete="CASCADE"), nullable=False),
|
||||
)
|
||||
|
||||
# Таблица iaai_sync_runs — логирование синхронизаций
|
||||
if not _table_exists("iaai_sync_runs"):
|
||||
# Таблица MOBILEDE_sync_runs — логирование синхронизаций
|
||||
if not _table_exists("MOBILEDE_sync_runs"):
|
||||
op.create_table(
|
||||
"iaai_sync_runs",
|
||||
"MOBILEDE_sync_runs",
|
||||
sa.Column("id", sa.BigInteger, primary_key=True, autoincrement=True),
|
||||
sa.Column("started_at", sa.DateTime(timezone=True), nullable=False, server_default=sa.func.now()),
|
||||
sa.Column("finished_at", sa.DateTime(timezone=True), nullable=True),
|
||||
|
||||
Reference in New Issue
Block a user