Esta página describe Calíope 1.7, la versión que estoy construyendo ahora mismo. La 1.6 está en la App Store para Mac, iPad, iPhone, Apple Watch, Apple TV y Apple Vision Pro. 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.
El asistente de Importación de datos inserta filas en una tabla a partir de un archivo, sin escribir SQL.
Cómo abrirlo: en el árbol de esquema, abre el menú contextual de una tabla y elige Importar datos…. La tabla queda como destino.
Paso 1 — El archivo
- Pulsa Elegir archivo y elige un .csv, .json o .xlsx.
- CSV — separado por comas, con las comillas de RFC 4180: un campo entre comillas puede llevar comas y saltos de línea. La primera fila son los nombres de las columnas.
- JSON — un array de objetos ([{"col": valor}, …]); las claves son los nombres de las columnas.
- Excel (.xlsx) — se lee la primera hoja, y su primera fila son los nombres de las columnas.
Paso 2 — Columnas: cada columna del archivo se asigna a una de la tabla, o se ignora (ver Mapear columnas en la importación). Si la primera fila de un CSV o de una hoja no son nombres, apaga Primera fila es encabezado: las columnas se numeran y esa fila entra con las demás.
Paso 3 — Importar
- Si el servidor admite más de una forma de tratar los duplicados, elige el modo (ver Modos de importación). Si sólo admite una, no hay nada que elegir y el selector no aparece.
- Elige el tamaño de lote: 100, 500 —el de fábrica— o 1000 filas por sentencia.
- Pulsa Importar. Una barra enseña el avance por lotes, y al terminar se ve cuántas filas entraron y los errores, si los hubo.
Disponible en macOS, iPad, iPhone y Apple Vision Pro.
El paso 2 del asistente decide a qué columna de la tabla va cada columna del archivo.
- Cada fila representa una columna del archivo; el selector de la derecha ofrece las columnas de la tabla de destino.
- Las columnas que se llaman exactamente igual que una de la tabla —mayúsculas incluidas— llegan ya asignadas. Las demás empiezan en Ignorar: asígnalas a mano si corresponde.
- Ignorar deja fuera esa columna. Sirve cuando el archivo trae más columnas que la tabla, o para no importar un identificador que el servidor genera solo.
Antes de importar, comprueba que toda columna NOT NULL sin valor por defecto tenga una columna del archivo asignada: si no, el servidor rechaza esas filas.
En el paso 3 del asistente se elige qué pasa cuando una fila del archivo choca con una clave primaria o única que ya existe. El asistente sólo ofrece los modos que el servidor sabe cumplir.
Insertar (en todos los servidores; donde se ofrece Saltar duplicados, el asistente empieza en ése): la sentencia del lote que choca falla, y la importación lo dice. Úsalo cuando no debería haber duplicados y quieres enterarte si los hay.
Saltar duplicados: la fila que choca se descarta y el resto sigue. Sirve para cargar un archivo que en parte ya está en la tabla.
Reemplazar duplicados: la fila que había se borra y entra la del archivo. Ten en cuenta que dispara los triggers de borrado y que las columnas que el archivo no trae vuelven a su valor por defecto.
MySQLMariaDBAurora
Se ofrecen los tres.
PostgreSQL
Se ofrecen Insertar y Saltar duplicados: no hay reemplazo.
SQL ServerOracleClickHouse
Sólo Insertar, así que el selector no aparece.
Disponible en macOS, iPad, iPhone y Apple Vision Pro.