Scripts de Migración de Storage

Scripts para gestionar la migración de archivos de Storage entre proyectos Supabase.

Requisitos

  • Node.js 18+

  • Service Role Key del proyecto origen (Lovable Cloud)

Instalación

cd docs/migration/scripts
npm install

Configuración

  1. Copia el archivo de ejemplo:

cp .env.migration.example .env.migration
  1. Edita .env.migration con tus credenciales:

SOURCE_SUPABASE_URL=https://bfxmwgymodigbnqfkuoi.supabase.co
SOURCE_SERVICE_ROLE_KEY=tu_service_role_key_origen

# Solo necesario para migrate-storage.js
DEST_SUPABASE_URL=https://tu_proyecto.supabase.co
DEST_SERVICE_ROLE_KEY=tu_service_role_key_destino

# Opcional: directorio de salida para download-storage.js
OUTPUT_DIR=./downloaded-storage

📥 Script 1: Descargar a Disco Local

Archivo: download-storage.js

Descarga todos los archivos de los buckets a disco local, preservando la estructura de carpetas.

Uso

Resultado

El archivo manifest.json contiene:

  • Fecha de descarga

  • Lista de archivos por bucket

  • Estadísticas (éxitos, fallidos, tamaño total)


🚀 Script 2: Migrar entre Proyectos

Archivo: migrate-storage.js

Migra archivos directamente de un proyecto Supabase a otro.

Uso

¿Qué hace?

  1. Lista archivos: Obtiene todos los archivos de cada bucket en el proyecto origen

  2. Crea buckets: Asegura que los buckets existan en el destino

  3. Migra archivos: Descarga y sube cada archivo preservando carpetas

  4. Genera SQL: Crea update-storage-urls.sql para actualizar URLs en la base de datos


Buckets incluidos

Bucket
Tipo

knowledge-files

Privado

company-logos

Público

budget-images

Público


Después de migrar

Ejecuta el archivo update-storage-urls.sql generado en el SQL Editor del proyecto destino para actualizar las referencias de URLs.


Alternativa: Migración manual

Si no tienes acceso al Service Role Key:

  1. Ve al backend de Lovable (View Backend)

  2. Navega a Storage

  3. Descarga los archivos de cada bucket manualmente

  4. Sube los archivos a tu proyecto Supabase externo

  5. Ejecuta las queries SQL para actualizar URLs

Última actualización