ForeignKeyViolation на dev_id='4777_0' / '5377_0' / etc — developer'ов нет в domrf_developers (FK fk_kn_obj_developer). Plus, старый except: db.rollback() откатывал ВСЮ транзакцию вместо текущего row → один FK-сбой убивал весь Phase A. - _ensure_developers(db, raw) — pre-upsert unique (dev_id, dev_name) перед upsert_objects, ON CONFLICT (developer_id) DO NOTHING. Fallback name 'Developer #<companyGroup>' если все имена None. - SAVEPOINT (db.begin_nested) во всех 5 upsert helper'ах + _log_failure заменяет db.rollback() — теперь сбой одного row не сносит транзакцию. - Smoke verified против прод-БД: 4777_0/5377_0 закреплены, 6208_0 уже существовал — ON CONFLICT отработал. |
||
|---|---|---|
| .. | ||
| exporters | ||
| generative | ||
| photos | ||
| scrapers | ||
| site_finder | ||
| __init__.py | ||
| analytics_queries.py | ||