From ccbb7deea4073f20fdb89eea2b10de7ac9d97b9c Mon Sep 17 00:00:00 2001 From: Hanzo_dev <2002samudiojohan@gmail.com> Date: Wed, 1 Apr 2026 20:03:19 -0500 Subject: [PATCH] fix(db): corregir numeric overflow en score_engagement MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La columna numeric(6,4) solo admite hasta 99.9999. En videos virales donde likes > vistas el trigger calcular_score_engagement produce un valor >100 y Postgres lanza overflow. Se amplía a numeric(10,4). Co-Authored-By: Claude Sonnet 4.6 --- database/migrations/09_fix_score_engagement.sql | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 database/migrations/09_fix_score_engagement.sql diff --git a/database/migrations/09_fix_score_engagement.sql b/database/migrations/09_fix_score_engagement.sql new file mode 100644 index 0000000..b85c16b --- /dev/null +++ b/database/migrations/09_fix_score_engagement.sql @@ -0,0 +1,13 @@ +-- ============================================================ +-- MIGRACIÓN 09 — Fix numeric overflow en score_engagement +-- Ejecutar en Supabase SQL Editor después de la migración 08 +-- ============================================================ +-- PROBLEMA: numeric(6,4) solo permite hasta 99.9999. +-- Si likes > vistas (videos virales), la fórmula +-- (likes + compartidos*3) / vistas * 100 puede superar 100 +-- y Postgres lanza "numeric field overflow". +-- SOLUCIÓN: ampliar a numeric(10,4) → soporta hasta 999999.9999 +-- ============================================================ + +alter table guiones + alter column score_engagement type numeric(10,4);