Fecha: 2026-08-26
Proyecto: GAME CONTROL (stjbtxrrdofuxhigxfcy)
Tenant production: 487e6c18-c75f-4661-9ffe-2a2cabf3faf2 — NEMESIS VIDEOJUEGOS
Estado: migración aplicada; frontend pendiente de despliegue/verificación
supabase db query --linked contra el proyecto vinculado GAME CONTROL.SONIXTECPROV3.013.tenant_id ni triggers.Archivos locales verificados:
pre-012-publications.csvpre-012-publication-relations.csvSHA-256:
pre-012-publications.csv
c5f5edcfb3d0f9ea4478504322fdabd38ec0cf696a41d538897749e4ecb1a1d3
pre-012-publication-relations.csv
0a2a5b3ff0fa790c9477c4de9cee1f5f761aa1702040c6ec3c046bdf3c235ab4
Estado PRE real de producción:
supabase_realtime | public | configuracion
Se ejecutó exclusivamente:
docs/multi-tenant/fase-2-rollout/012_realtime_tenant_isolation.sql
Resultado: comando completado con código 0.
Estado real posterior:
supabase_realtime | public | configuracion
supabase_realtime | public | gastos
supabase_realtime | public | salas
supabase_realtime | public | sesiones
supabase_realtime | public | ventas
configuracion se conservó. Se agregaron únicamente gastos, salas, sesiones y ventas. No aparecen productos ni alertas_arqueo.
Counts verificados después de la migración:
| Tabla | Resultado |
|---|---|
| usuarios | 4 |
| salas | 3 |
| sesiones | 2858 |
| productos | 17 |
| movimientos_stock | 2332 |
| gastos | 104 |
| clientes | 71 |
| cierres_turno | 98 |
| dispositivos | 1 |
| ventas | 2981 |
Sumas verificadas:
ventas.total = 30106900.00
gastos.monto = 21128734.73
stock total = 2401
Tenant count verificado: 1. El tenant raíz existe, está activo y mantiene el slug nemesis-videojuegos.
0.sesiones, salas, ventas y gastos.87.current_tenant_id, current_app_user_id, current_tenant_role, registrar_venta_pos, rpc_require_context.No se ejecutaron cambios sobre RLS ni RPCs.
npm run build)..channel() directos fuera de src/lib/realtimeService.js: 0.service_role en src: 0.postgres_changes fuera del singleton: 0.postgres_changes aún aparece en comentarios y en el singleton; no representa listeners directos adicionales.El proyecto Vercel existente fue identificado como mauro-chicas-projects/gamecontrol.
prj_lRNZlhWzVNYZh377ZD4nP0LONyalvite builddisthttps://gamecontrol-five.vercel.apphttps://gamecontrol-c8hupwroe-mauro-chicas-projects.vercel.appdpl_Gd45bpvLrznYqaMBMVXPEpvMoQBKdpl_C93Bn1zH4C7rjyRJv1eFpfzm4Pr1gamecontrol-five.vercel.appEl Preview terminó en estado Ready y compiló con Vite desde el checkout aislado del commit aprobado. La producción también muestra el bundle Vite correspondiente a ese código después del push, mediante la integración Git existente de Vercel.
Variables Vercel verificadas sin imprimir valores:
VITE_SUPABASE_URL = AUSENTE
VITE_SUPABASE_ANON_KEY = AUSENTE
El código actualmente conserva valores fallback para Supabase. No se modificaron variables ni configuración cloud durante esta operación. La ausencia de variables debe resolverse antes de considerar el deployment operativo definitivo.
Pendiente después del deployment frontend:
realtimeService.getDebugInfo() con tenant, canal y filtro correctos.Rollback preparado:
docs/multi-tenant/fase-2-rollout/012_realtime_tenant_isolation.rollback.sql
El rollback solo elimina de supabase_realtime las cuatro tablas agregadas por 012. No modifica datos, RLS, RPCs, FK, UNIQUE, tenant_id ni triggers.
012 PRODUCTION DATABASE MIGRATION = PASS
012 PRODUCTION FULL ROLLOUT = PENDING FRONTEND DEPLOYMENT AND SMOKE TEST
No ejecutar 013 ni iniciar onboarding hasta completar el deployment frontend y los smoke tests productivos.