Operaciones

Schema Update

La operación Schema Update te permite modificar el esquema de la base de datos de tu sink objetivo usando código JavaScript personalizado. Esta operación se aplica para actualizar estructuras de tablas, añadir o eliminar columnas, o hacer otros cambios de esquema antes de cargar datos.

Resumen

La operación Schema Update te permite:

  • Escribir código JavaScript personalizado para modificar esquemas de bases de datos
  • Añadir, eliminar o alterar columnas y estructuras de tablas
  • Implementar lógica personalizada de migración de esquemas
  • Asegurar que el esquema de tu base de datos objetivo coincida con la estructura de tus datos transformados

Configuración

Editor de Código JavaScript

La operación Schema Update proporciona un editor de código donde puedes escribir funciones JavaScript personalizadas para modificaciones de esquema:

  1. El código debe ser una función JavaScript válida que defina cambios de esquema
  2. La función puede referenciar la estructura de datos actual para determinar actualizaciones de esquema necesarias
  3. Puedes usar características de JavaScript soportadas por la plataforma para manipulación de esquemas

Ejemplos

Actualización Básica de Esquema

Para añadir una nueva columna a tu esquema de base de datos:

  1. Añade la operación Schema Update a tu regla
  2. Escribe código JavaScript como:
// Ejemplo: Añadir una columna full_name si no existe
if (!schema.columns.find(col => col.name === 'full_name')) {
  schema.columns.push({
    name: 'full_name',
    type: 'string',
    length: 255
  });
}
return schema;

Modificaciones Complejas de Esquema

Para cambios de esquema más complejos:

  1. Añade la operación Schema Update a tu regla
  2. Escribe código JavaScript que modifique la estructura del esquema:
// Ejemplo: Renombrar una columna y cambiar su tipo
const emailColumn = schema.columns.find(col => col.name === 'email_address');
if (emailColumn) {
  emailColumn.name = 'email';
  emailColumn.type = 'string';
  emailColumn.length = 320;
}
 
// Ejemplo: Añadir índices para mejor rendimiento de consultas
schema.indexes = schema.indexes || [];
schema.indexes.push({
  name: 'idx_email',
  columns: ['email'],
  unique: true
});
 
return schema;

Esta operación es particularmente útil cuando tu pipeline de transformación de datos crea nuevos campos o modifica existentes, y necesitas asegurar que el esquema de la base de datos objetivo puede acomodar estos cambios.

Mejores Prácticas

  • Siempre prueba el código de actualización de esquema en un entorno de desarrollo antes de aplicarlo a producción
  • Considera el impacto de los cambios de esquema en los datos existentes y aplicaciones
  • Usa lógica condicional para verificar si se necesitan cambios de esquema antes de aplicarlos
  • Documenta tus cambios de esquema para futuras referencias y mantenimiento

Notas Importantes

  • Esta operación solo afecta el esquema de base de datos, no los datos reales
  • Los cambios de esquema se aplican al sink objetivo, no a los datos fuente
  • Asegúrate de tener permisos apropiados para modificar el esquema de base de datos

Tabla de Contenidos