Esta página describe Calíope 1.5, la versión que estamos construyendo ahora mismo. La 1.4 está terminada y en revisión de App Store, y la tienda sirve hoy la 1.3 en el Mac y la 1.2 en iPad. El changelog dice en qué versión llegó cada función.
Añade un botón «Abrir en Calíope» a cada tema. Sólo funciona con la app instalada.
Calíope incluye un asistente de importación en tres pasos para cargar datos desde archivos externos.
Cómo acceder:
Haz clic derecho (macOS) o mantén pulsado (iPad) sobre el nombre de una tabla en el árbol de esquemas y selecciona Importar datos…. El asistente se abre preconfigurado con la base de datos y tabla seleccionadas.
Paso 1 — Archivo:
Pulsa Seleccionar archivo… y elige el archivo a importar. El asistente detecta automáticamente el formato.
Formatos soportados:
- CSV — con detección automática del separador (,, ;, tabulación).
- JSON — array de objetos [{…}, {…}].
- Excel (.xlsx) — primera hoja del libro de Microsoft Excel o Numbers.
Paso 2 — Columnas:
El asistente muestra las columnas del archivo y un selector para mapear cada una a la columna correspondiente de la tabla de destino. Columnas sin mapeado se etiquetan como Ignorar y no se importan. Activa Primera fila es encabezado si el archivo tiene una fila de títulos.
Paso 3 — Importar:
Configura las opciones de importación:
- Modo de inserción:
- INSERT — inserta filas normalmente. Falla si existe un conflicto de clave primaria.
- INSERT IGNORE — inserta filas nuevas e ignora silenciosamente las que ya existen (duplicados de PK).
- REPLACE — si existe conflicto de PK, borra la fila existente e inserta la nueva.
- Filas por lote — número de filas que se insertan en cada sentencia INSERT. Opciones: 100, 500 o 1000. Lotes más grandes son más rápidos pero consumen más memoria del servidor.
El panel de log muestra el progreso y el resultado fila por fila.
Exporta bases de datos y objetos seleccionados a un archivo .sql o .sql.gz sin bloquear la interfaz.
Dónde está: Espacio de Trabajo › Herramientas › Respaldo
Abre Respaldo desde la barra de navegación del workspace. En la pestaña Respaldo, selecciona las bases de datos y objetos a incluir usando el árbol de la izquierda. Configura las opciones y elige el archivo de destino. Pulsa Generar respaldo.
Procesamiento en segundo plano:
El respaldo se ejecuta completamente fuera del hilo principal. La interfaz permanece totalmente responsiva mientras el motor vuelca los datos. El panel de log inferior muestra el progreso objeto por objeto en tiempo real.
Tiempo estimado (ETA):
Una vez procesado el primer objeto, aparece junto a la barra de progreso un contador de tiempo restante estimado, calculado a partir de la velocidad actual de volcado.
Cancelar un respaldo:
Pulsa Cancelar en cualquier momento. El motor detiene el volcado tras finalizar la operación en curso y elimina el archivo parcial del disco.
macOS: el archivo se guarda en la ruta elegida con el panel de Finder. iPad: al completarse, aparece el botón Compartir archivo para exportar al almacenamiento del dispositivo o iCloud Drive.
Notificación al terminar:
Si minimizas o cambias de app durante un respaldo largo, Calíope envía una notificación local al completarse o en caso de error. Requiere permiso de notificaciones concedido (macOS: Centro de notificaciones; iPad: Ajustes › Notificaciones). Activa o desactiva esta notificación en Preferencias › Notificaciones › Backup manual en segundo plano.
Palabras clave: backup, respaldo, exportar, mysqldump, sql, segundo plano, eta, cancelar, progreso, notificación
Elige qué tablas, vistas, rutinas y usuarios incluir.
Dónde está: Respaldo › Árbol de selección
El árbol de la izquierda muestra cada base de datos con sus tipos de objeto: Tablas, Vistas, Rutinas, Triggers y Eventos. Usa los botones rápidos Todo, Nada y Solo tablas para seleccionar en bloque, o marca/desmarca individualmente. La sección Usuarios permite incluir usuarios y sus privilegios en el backup.
El árbol tiene además un filtro por nombre en su cabecera y muestra el tamaño estimado junto a cada tabla. La casilla de cada base marca o desmarca todo su contenido, y a su derecha ves cuántos objetos llevas marcados de cuántos hay. La sección Usuarios está debajo del árbol, no dentro: los usuarios son del servidor y no cuelgan de ninguna base de datos.
Ejecuta un archivo .sql o .sql.gz contra el servidor para restaurar datos.
Dónde está: Respaldo › Pestaña Restaurar
En la pestaña Restaurar, selecciona el archivo con el selector unificado. Se aceptan archivos .sql y .sql.gz (comprimidos con gzip); Calíope detecta el formato por el número mágico del archivo, no por la extensión, así que renombrar el archivo no cambia el resultado.
Vista previa: pulsa Vista previa para inspeccionar las primeras ~200 líneas antes de ejecutar. Útil para verificar qué bases de datos y sentencias contiene un dump antes de aplicarlo.
Confirmación previa: al pulsar Restaurar aparece un resumen con el número de sentencias detectadas y las bases de datos afectadas (extraídas de USE, CREATE DATABASE y DROP DATABASE). Si el script contiene sentencias DROP, el botón de confirmación se marca en rojo.
Cancelación: durante la restauración puedes pulsar Cancelar para detener la ejecución tras la sentencia actual.
Errores: el panel de log muestra cada error con la primera línea de la sentencia que falló para poder identificarla en el dump original.
macOS: el selector abre el diálogo estándar de Finder. iPad: el selector usa el navegador de documentos del sistema, con acceso a iCloud Drive y apps compatibles. Se genera un bookmark security-scoped para poder releer el archivo tras cerrar el picker.
Requiere conexión activa: el botón queda deshabilitado si no hay servidor conectado. Un aviso naranja lo señala.
Palabras clave: restaurar, restore, importar, sql file, sql.gz, gzip, comprimido, script, icloud, selector de archivos, vista previa, confirmación, cancelar
Configura el contenido, el formato y la compresión del archivo de respaldo generado.
Dónde está: Respaldo › Sección de opciones
En la pestaña Respaldo, la sección de opciones permite ajustar qué incluye el archivo generado:
- DROP antes de CREATE — agrega DROP TABLE IF EXISTS (o DROP VIEW, DROP PROCEDURE, etc.) antes de cada sentencia CREATE. Recomendado para restauraciones limpias que sobreescriban objetos existentes.
- Incluir datos — agrega sentencias INSERT con los datos de cada tabla seleccionada. Desactívalo para generar solo el esquema (estructura sin datos).
- Incluir fecha en nombre de archivo — agrega la fecha y hora actuales al nombre del archivo de salida (p. ej. backup_2025-06-05_14-30.sql).
- Incluir usuarios — exporta las cuentas de usuario MySQL y sus privilegios con sentencias CREATE USER y GRANT.
- Incluir contraseñas de usuarios — opción explícita desactivada por defecto. Cuando está apagada, los CREATE USER / GRANT se escriben con IDENTIFIED BY '***REDACTED***'. Actívala solo si vas a restaurar el archivo en el mismo servidor y estás seguro de que la carpeta destino no está sincronizada con iCloud Drive, Dropbox u otro servicio.
- Comprimir salida (.sql.gz) — aplica compresión gzip sobre el archivo mientras se genera, sin almacenar el SQL completo en memoria. El archivo resultante ocupa entre un 70 % y un 85 % menos que el .sql equivalente. La compresión se realiza en tiempo real mediante el framework Compression de Apple.
macOS: el archivo se guarda usando el diálogo estándar de Finder. iPad: al terminar el respaldo, el botón Compartir archivo permite exportar el .sql o .sql.gz a cualquier destino compatible con el selector de archivos del sistema.
Palabras clave: opciones backup, DROP IF EXISTS, incluir datos, incluir usuarios, esquema, estructura, datos, fecha archivo, drop before create, comprimir, gzip, sql.gz, compresión
Configura backups recurrentes diarios o semanales con notificación al completarse.
Dónde está: Espacio de Trabajo › Herramientas › Respaldo
Calíope puede ejecutar backups de forma automática sin intervención manual. Para configurarlos, abre el panel de Respaldo desde la barra lateral del Workspace.
Cómo configurar un backup programado:
1. En la sección Programados dentro del panel de Respaldo, pulsa Agregar horario.
2. Elige la base de datos a respaldar, la frecuencia (diaria o semanal), la hora de ejecución y la carpeta de destino.
3. Activa el interruptor del horario para que quede en marcha.
Comportamiento:
- Cuando la app está abierta a la hora configurada, el backup se ejecuta en segundo plano sin bloquear la interfaz.
- Al completarse, recibirás una notificación del sistema con el nombre del archivo y su tamaño.
- Si la app no estaba abierta a la hora programada, el backup se marcará como pendiente y se ejecutará la próxima vez que se abra la app.
- Los backups más antiguos se eliminan automáticamente al superar el número máximo de copias configurado.
Selección de carpeta destino:
Calíope corre en un sandbox estricto (requisito del App Store). Cuando eliges la carpeta con Examinar se genera un permiso persistente para esa ruta específica. Si mueves o renombras la carpeta después, la app te avisará que necesita que la vuelvas a seleccionar. Editar la ruta a mano en la ficha no es suficiente — siempre usa el botón Examinar.
Rendimiento:
Los backups programados usan el mismo motor de streaming que los manuales: escriben directamente al disco objeto por objeto, sin acumular el SQL en memoria. Esto permite respaldar bases de datos de cualquier tamaño sin riesgo de agotamiento de RAM o bloqueo de la app.
Disponible en macOS, iPad e iPhone. Requiere permiso de notificaciones del sistema.
Palabras clave: backup, programado, automático, diario, semanal, notificación, scheduler, horario, segundo plano, streaming
Guardar configuración como plantilla (preset manual)
Reutiliza los parámetros de un respaldo sin calendarizarlo. Se ejecutan bajo demanda con un clic.
Dónde está: Respaldo › Pestaña Programados
Además de los respaldos automáticos (diarios, semanales, laborables, mensuales o cada N horas), la pestaña Programados puede alojar plantillas manuales: configuraciones guardadas con nombre que se ejecutan sólo cuando pulsás el botón Ejecutar en su fila.
Cómo crear una plantilla manual:
1. Desde la pestaña Respaldo, tras configurar destino y opciones, pulsá Guardar como configuración… al lado del botón Crear respaldo. La plantilla queda registrada en la pestaña Programados con frecuencia "Manual — bajo demanda".
2. Alternativamente, en Programados › Añadir, elegí la opción Sin programación (ejecutar bajo demanda) en el selector de frecuencia.
Diferencias visuales de un preset manual:
- Ícono bolt.circle.fill índigo (vs. calendar.badge.checkmark verde para programados activos).
- Botón primario Ejecutar siempre visible en la fila.
- Sin toggle activo/inactivo y sin "próxima ejecución" (no aplican).
- Sin acumulación de missedRuns (no participan del ciclo automático).
Frecuencias disponibles para respaldos automáticos:
- Diario a una hora fija.
- Semanal un día concreto de la semana.
- L-V (laborables) de lunes a viernes.
- Mensual un día concreto (1–28) del mes.
- Cada N horas contadas desde el último run.
- Manual (bajo demanda) — sin programación automática.
Historial de ejecuciones: cada respaldo programado guarda las últimas 10 ejecuciones (éxitos, fallos, cancelados y saltados). El ícono clock.arrow.circlepath en la fila abre el sheet con la tabla.
Palabras clave: preset, plantilla, manual, bajo demanda, programado, frecuencia, mensual, laborables, cada N horas, historial, run history