feat(billing-v2): add BalanceTransaction::TYPE_MIGRATION + extend CHECK

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Дмитрий
2026-05-23 12:29:55 +03:00
parent 53f61dda19
commit 8e05486083
5 changed files with 95 additions and 4 deletions
+4 -2
View File
@@ -1,6 +1,7 @@
-- =============================================================================
-- schema.sql — единая схема БД для SaaS-аналога crm.bp-gr.ru («Лидерра»)
-- Версия: v8.31 (23.05.2026 — партиционирование 7 audit-таблиц помесячно (hole #2): auth_log / activity_log / tenant_operations_log / webhook_log / balance_transactions / pd_processing_log / saas_admin_audit_log; PK → (id, created_at|received_at); FK на webhook_log удалены (W1); retention defaults в system_settings)
-- Версия: v8.32 (23.05.2026 — balance_transactions.type +'migration' для Billing v2 Spec A конвертации balance_leads → balance_rub)
-- Базовая версия: v8.31 (23.05.2026 — партиционирование 7 audit-таблиц помесячно (hole #2): auth_log / activity_log / tenant_operations_log / webhook_log / balance_transactions / pd_processing_log / saas_admin_audit_log; PK → (id, created_at|received_at); FK на webhook_log удалены (W1); retention defaults в system_settings)
-- Базовая версия: v8.30 (23.05.2026 — scheduler_heartbeats: пульс планировщика, SaaS-level без RLS, 11 cron-задач, hole #6)
-- Базовая версия: v8.29 (22.05.2026 — webhook_log: supplier audit columns)
-- Базовая версия: v8.28 (22.05.2026 — tenant_operations_log: журнал тенант-уровневых операций вне сделок (проекты, API-ключи, webhook URL), append-only hash-chain, P2 operational journaling closure)
@@ -2333,7 +2334,8 @@ CREATE TABLE balance_transactions (
CHECK (type IN ('trial_bonus','topup','lead_charge','refund',
'manual_adjustment','historical_import',
'chargeback_writedown', -- Ю-3: списание непокрытой части chargeback в долг тенанта
'chargeback_repayment' -- Ю-3: погашение долга через /billing
'chargeback_repayment', -- Ю-3: погашение долга через /billing
'migration' -- Billing v2 Spec A: конвертация balance_leads → balance_rub
)),
amount_rub DECIMAL(12,2) DEFAULT 0,
amount_leads INT DEFAULT 0,