From d1f2380f324d18d598d1f2adefdac9e8b69e3f1e Mon Sep 17 00:00:00 2001 From: lekss361 Date: Tue, 28 Apr 2026 23:37:03 +0300 Subject: [PATCH] =?UTF-8?q?fix(sqlalchemy):=20=D1=83=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D1=8C=20:name::type=20=E2=80=94=20psycopg3=20=D0=B8?= =?UTF-8?q?=D1=85=20=D0=BD=D0=B5=20=D0=BF=D0=B0=D1=80=D1=81=D0=B8=D1=82,?= =?UTF-8?q?=20=D0=BB=D0=BE=D0=BC=D0=B0=D0=B5=D1=82=20Phase=20A=20INSERT=20?= =?UTF-8?q?=D0=B2=20kn=5Fscrape=5Fruns=20(run=5Fregion=5Fsweep=20=D0=BA?= =?UTF-8?q?=D1=80=D0=B0=D1=88=D0=B8=D1=82=D1=81=D1=8F=20=D1=81=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D1=83=20=D1=81=20ProgrammingError,=20task=5Freceived=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BD,=20=D0=BD=D0=BE=20ru?= =?UTF-8?q?n=5Fid=20=D0=BD=D0=B8=D0=BA=D0=BE=D0=B3=D0=B4=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D1=91=D1=82=D1=81=D1=8F?= =?UTF-8?q?).=204=20=D0=BC=D0=B5=D1=81=D1=82=D0=B0:=20domrf=5Fkn.py=20(res?= =?UTF-8?q?ume=20INSERT,=20new=20run=20INSERT,=20snapshot=20UPDATE)=20+=20?= =?UTF-8?q?admin=5Fleads.py=20(date=5Fto=20filter).=20=D0=97=D0=B0=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE=20=D0=BD=D0=B0=20CAST(:name=20AS?= =?UTF-8?q?=20type).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/api/v1/admin_leads.py | 2 +- backend/app/services/scrapers/domrf_kn.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/app/api/v1/admin_leads.py b/backend/app/api/v1/admin_leads.py index 4e120f87..81dbff38 100644 --- a/backend/app/api/v1/admin_leads.py +++ b/backend/app/api/v1/admin_leads.py @@ -67,7 +67,7 @@ def list_leads( where.append("l.created_at >= :date_from") params["date_from"] = date_from if date_to: - where.append("l.created_at < (:date_to::date + INTERVAL '1 day')") + where.append("l.created_at < (CAST(:date_to AS date) + INTERVAL '1 day')") params["date_to"] = date_to if search: where.append("(l.name ILIKE :search OR l.phone_last4 = :exact_search)") diff --git a/backend/app/services/scrapers/domrf_kn.py b/backend/app/services/scrapers/domrf_kn.py index 1f2abb28..3cd5c3fe 100644 --- a/backend/app/services/scrapers/domrf_kn.py +++ b/backend/app/services/scrapers/domrf_kn.py @@ -1021,8 +1021,8 @@ async def run_region_sweep( total_obj_count, heartbeat_at, resumed_from_run_id ) VALUES ( - :rc::int[], :devs::text[], :snap, 'running', - :params::jsonb, :objs::jsonb, :idx, + CAST(:rc AS int[]), CAST(:devs AS text[]), :snap, 'running', + CAST(:params AS jsonb), CAST(:objs AS jsonb), :idx, :total, NOW(), :prev ) RETURNING run_id @@ -1057,7 +1057,7 @@ async def run_region_sweep( ) VALUES ( ARRAY[:rc]::int[], CAST(:devs AS text[]), :snap, 'running', - :params::jsonb, NOW() + CAST(:params AS jsonb), NOW() ) RETURNING run_id """ @@ -1141,7 +1141,7 @@ async def run_region_sweep( text( """ UPDATE kn_scrape_runs - SET objects_snapshot = :objs::jsonb, + SET objects_snapshot = CAST(:objs AS jsonb), total_obj_count = :total, objects_count = :total, heartbeat_at = NOW()