fix(gisogd66): CAST(:geojson AS text) — AmbiguousParameter ронял каждый upsert (#2383)
This commit is contained in:
parent
9850bbde14
commit
4f0cae5c18
1 changed files with 6 additions and 2 deletions
|
|
@ -277,8 +277,12 @@ def _upsert_permit(db: Session, rec: dict[str, Any]) -> str:
|
|||
:doc_group, :doc_num, :doc_name, :date_doc, :date_reg,
|
||||
:approved_org, :source_schema, :source_key,
|
||||
CAST(:cad_nums AS text[]),
|
||||
CASE WHEN :geojson IS NULL THEN NULL
|
||||
ELSE ST_Multi(ST_SetSRID(ST_GeomFromGeoJSON(:geojson), 4326)) END,
|
||||
-- CAST обязателен: без него ни одно вхождение :geojson не даёт Postgres
|
||||
-- тип параметра (ST_GeomFromGeoJSON перегружена text/json/jsonb) →
|
||||
-- psycopg.errors.AmbiguousParameter на КАЖДОЙ строке (прод-прогон #2367).
|
||||
CASE WHEN CAST(:geojson AS text) IS NULL THEN NULL
|
||||
ELSE ST_Multi(ST_SetSRID(
|
||||
ST_GeomFromGeoJSON(CAST(:geojson AS text)), 4326)) END,
|
||||
NOW(), NOW()
|
||||
)
|
||||
ON CONFLICT (doc_group, doc_num) DO UPDATE
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue