Guía Completa de Migración a Supabase Externo

Índice


Requisitos Previos

Herramientas necesarias:

Información a recopilar:


Paso 1: Preparar Proyecto Supabase

1.1 Obtener credenciales

  1. Selecciona tu proyecto

  2. Ve a Settings → API

  3. Copia:

    • Project URL

    • anon public key

    • service_role secret key

1.2 Verificar configuración de autenticación

  1. Ve a Authentication → Settings

  2. En Email Auth, asegúrate de que esté habilitado

  3. Configura el Site URL con la URL de tu aplicación


Paso 2: Ejecutar Migración del Schema

2.1 Ejecutar el script de migración

  1. Ve a SQL Editor en tu proyecto Supabase

  2. Crea un nuevo query

  3. Copia todo el contenido de 01-schema-migration.sql

  4. Ejecuta el script

2.2 Verificar la migración

Después de ejecutar, verifica que se crearon:

Resultado esperado:

  • ✅ 20 tablas creadas

  • ✅ 13 funciones creadas

  • ✅ ~40 políticas RLS creadas

  • ✅ 3 storage buckets creados


Paso 3: Exportar e Importar Datos

3.1 Exportar datos del proyecto actual

Para cada tabla, ejecuta la query correspondiente en 02-data-export-queries.sql en el SQL Editor actual (Lovable Cloud).

Orden de ejecución (IMPORTANTE - respetar dependencias):

  1. subscription_plans

  2. companies

  3. profiles

  4. user_roles

  5. products

  6. discount_presets

  7. budgets

  8. budget_versions

  9. budget_conversations

  10. knowledge_base

  11. sales_goals

  12. commission_rules

  13. company_invitations

  14. hubspot_settings

  15. user_images

3.2 Importar datos en el nuevo proyecto

  1. Copia los resultados de cada query (los INSERT statements generados)

  2. Ve al SQL Editor del nuevo proyecto

  3. Ejecuta los INSERTs en el mismo orden

3.3 Verificar importación


Paso 4: Configurar Secrets

4.1 Agregar secrets en Edge Functions

Ve a Settings → Edge Functions → Secrets y agrega:

Secret Name
Descripción

CLERK_PUBLISHABLE_KEY

Clave pública de Clerk

CLERK_SECRET_KEY

Clave secreta de Clerk

GEMINI_API_KEY

API key de Google Gemini

OPENAI_API_KEY

API key de OpenAI

LIVEBLOCKS_SECRET_KEY

Clave secreta de Liveblocks

HUBSPOT_ACCESS_TOKEN

Token de acceso de HubSpot

PIPEDREAM_CLIENT_ID

Client ID de Pipedream

PIPEDREAM_CLIENT_SECRET

Client Secret de Pipedream

PIPEDREAM_PROJECT_ID

Project ID de Pipedream

4.2 Variables adicionales necesarias

También necesitarás configurar:

  • SUPABASE_URL (se obtiene automáticamente)

  • SUPABASE_SERVICE_ROLE_KEY (se obtiene automáticamente)


Paso 5: Migrar Storage

5.1 Verificar buckets creados

Los buckets ya deberían estar creados por el script de migración:

  • knowledge-files (privado)

  • company-logos (público)

  • budget-images (público)

5.2 Descargar archivos del proyecto actual

Para cada bucket, necesitas:

  1. Listar archivos existentes:

  1. Descargar cada archivo:

5.3 Subir archivos al nuevo proyecto

5.4 Actualizar URLs en la base de datos

Después de migrar los archivos, actualiza las URLs en las tablas:

  • companies.logo_url

  • knowledge_base.file_url

  • user_images.url

  • products.image_url


Paso 6: Desplegar Edge Functions

6.1 Instalar Supabase CLI

6.2 Login y vincular proyecto

6.3 Copiar Edge Functions

Copia la carpeta supabase/functions de tu proyecto Lovable a tu directorio local.

6.4 Desplegar todas las funciones

Lista de funciones a desplegar:

  1. accept-invitation

  2. admin-panel

  3. chat-gemini

  4. crm-via-pipedream

  5. exchange-rates

  6. hubspot-api

  7. import-budget

  8. invite-team-member

  9. liveblocks-auth

  10. manage-team

  11. parse-document

  12. pipedream-action

  13. pipedream-auth

6.5 Verificar despliegue


Paso 7: Actualizar Variables de Entorno

7.1 Crear archivo .env.local

Crea un archivo .env.local en la raíz de tu proyecto Lovable:

7.2 Actualizar código si es necesario

El cliente de Supabase ya está configurado para usar estas variables:


Paso 8: Verificación Final

8.1 Checklist de verificación

8.2 Tests funcionales

  1. Autenticación: Verifica que el login/registro funciona

  2. CRUD: Prueba crear, leer, actualizar y eliminar un presupuesto

  3. Storage: Sube una imagen y verifica que se guarda

  4. Edge Functions: Prueba el chat con IA

8.3 Queries de verificación


Troubleshooting

Error: "permission denied for table..."

  • Verifica que RLS esté habilitado y las políticas sean correctas

  • Asegúrate de que el usuario tenga los permisos necesarios

Error: "foreign key violation"

  • Importa los datos en el orden correcto (respetando dependencias)

  • Verifica que los IDs referenciados existan

Error: "function does not exist"

  • Ejecuta nuevamente la sección de funciones del script de migración

  • Verifica que el enum app_role fue creado

Edge Functions no responden

  • Verifica que los secrets estén configurados

  • Revisa los logs en Supabase Dashboard → Edge Functions → Logs


Soporte

Si encuentras problemas durante la migración:

  1. Revisa los logs en Supabase Dashboard

  2. Verifica los queries en el SQL Editor

Última actualización