From 7a1cab6a2d01eb7a16483f7961c2bcb6e93ae554 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sat, 30 May 2026 05:28:25 +0300 Subject: [PATCH] ops(sql-runner): whitelist UPDATE supplier_projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Расширяет MUTATING_RE для quick-fix supplier_project signal_type collision (B3 вашиденьги24.рф site→sms за supplier_lead 1352 шторм 319/h после Stage 5 F2 fast-fail deploy). Read-only diagnostic queries показали что поставщик сменил тип кампании site→sms но локальный supplier_project не обновился — резолвер выбрасывает unique_key collision, поставщик ретраит, F2 stops at 3 retries per webhook. Co-Authored-By: Claude Opus 4.7 --- .github/workflows/sql-runner.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sql-runner.yml b/.github/workflows/sql-runner.yml index 4a0574b2..ac0c25e2 100644 --- a/.github/workflows/sql-runner.yml +++ b/.github/workflows/sql-runner.yml @@ -41,7 +41,7 @@ jobs: READ_RE='^(select |with |explain |\\d|\\df|\\di|\\dt)' # Mutating allowed if confirm=true: targeted UPDATE/DELETE on specific tables - MUTATING_RE='^(update supplier_leads|update failed_webhook_jobs|update scheduler_heartbeats|delete from failed_webhook_jobs|delete from incidents_log) ' + MUTATING_RE='^(update supplier_leads|update supplier_projects|update failed_webhook_jobs|update scheduler_heartbeats|delete from failed_webhook_jobs|delete from incidents_log) ' if [[ "$SQL_LOWER" =~ $READ_RE ]]; then echo "::notice::SELECT/read-only — allowed."