Funciones
Tablas, columnas y relaciones se escriben en un lenguaje sencillo; al lado se dibuja en vivo un diagrama ER, y cada cambio hecho en el diagrama se vuelve a escribir en el código. Tabliva muestra los problemas del esquema, sugiere normalizaciones y genera el SQL y el archivo de migración versionado que llevan una base de datos al estado del código. PostgreSQL, MySQL / MariaDB y SQLite.
Funciones principales
- Un lenguaje de esquema legible
- Tablas, tipos lógicos, claves primarias y foráneas (->), índices (parciales y de expresión), restricciones check y enums se escriben en archivos .tabliva. Los detalles propios de cada dialecto se añaden con anotaciones (@postgres(type: "jsonb")); vistas, disparadores y funciones, con bloques sql sin procesar. El editor tiene resaltado de sintaxis, autocompletado y búsqueda.
- Diagrama ER bidireccional
- El diagrama se actualiza mientras se escribe; ante un error de sintaxis se mantiene el último estado válido y el error se muestra con su línea. Añadir, renombrar o eliminar tablas, columnas, relaciones e índices, o cambiar un tipo en el diagrama, reescribe solo la línea de código correspondiente; los comentarios se conservan. La disposición se guarda en un archivo aparte (diagram.tabliva-layout.json).
- Problemas: 55 reglas
- Claves, sugerencias de claves foráneas que faltan con su nivel de confianza, tipos (p. ej., float para importes), índices, datos repetidos, nombres, estructura y compatibilidad con el dialecto. Cada problema tiene una explicación sencilla y una corrección; las correcciones seguras se aplican de una vez. Ignorar un problema o desactivar una regla se escribe en el archivo kurallar.tabliva.
- Normalización
- Las dependencias funcionales se declaran en el código con una línea depends o se sugieren a partir de los nombres de columna. Para cada tabla se muestran los pasos de 1FN a FNBC, correcciones con vista previa de antes y después (mover a otra tabla, nueva tabla, tabla hija, copia intencionada) y el SQL de migración de datos para el dialecto.
- Plan de cambios y archivos de migración
- El código se compara con un destino (carpeta de migraciones, instantánea; en el escritorio, una base de datos en vivo). Se detectan los cambios de nombre; cada paso lleva etiquetas de riesgo como pérdida de datos, reescritura de la tabla o bloqueo. El SQL se genera para PostgreSQL, MySQL / MariaDB y SQLite; el archivo de migración se escribe en la carpeta migrations/ con un nombre fechado y su suma de verificación se añade a tabliva.sum.
- Importar un esquema existente
- Se leen volcados SQL (pg_dump, mysqldump, SQLite .schema o CREATE TABLE escrito a mano), DBML y otro proyecto de Tabliva; se elige un archivo por tabla o un único archivo. Solo se toma el esquema; las líneas INSERT y COPY se omiten. En el escritorio, el esquema también se lee directamente de una base de datos.
- Sincronización
- Origen y destino (código, instantánea, carpeta de migraciones; en el escritorio, una base de datos) se comparan lado a lado o en una sola columna, y la dirección se puede invertir. Los cambios hechos en la base de datos sin archivo de migración se muestran como desviación; el script de sincronización se genera a partir de los cambios seleccionados.
- Documentación
- El diccionario de datos se guarda como HTML (un solo archivo que no carga nada de la red), Markdown o, mediante la ventana de impresión, PDF. Las descripciones vienen de los comentarios /// del código; una descripción escrita aquí se vuelve a escribir en el código. El diagrama ER se exporta como PNG / SVG claro u oscuro, y el esquema como SQL o DBML.
- Datos de ejemplo e historial del esquema
- Se generan datos de ejemplo que respetan tipos, restricciones y relaciones; la misma semilla da siempre los mismos datos (SQL, CSV o JSON). El historial del esquema se obtiene de los archivos de migración y las instantáneas; se pueden comparar dos momentos cualesquiera.
- Base de datos en vivo (escritorio)
- La aplicación de escritorio se conecta a PostgreSQL y MySQL / MariaDB (con opciones SSL): importar el esquema desde la base de datos, sincronización, «Aplicar a la base de datos» con confirmación (aceptar la pérdida de datos y escribir el nombre de la base de datos), cargar datos de ejemplo y comprobaciones de datos para las relaciones sugeridas. En el navegador y en el teléfono estas funciones no se muestran.
- Carpeta del proyecto y compartir
- Los proyectos se guardan en este dispositivo; en los navegadores que pueden escribir en carpetas y en el escritorio, un proyecto se conecta a una carpeta y cada cambio se escribe allí (p. ej., un repositorio Git). Los proyectos se exportan e importan como ZIP; un archivo, el proyecto o el SQL del plan se comparten con la función de compartir del dispositivo.
- Proyecto de ejemplo, copia de seguridad y sin conexión
- En el primer inicio se incluye el esquema de una tienda con algunos problemas intencionados; «Volver a añadir el proyecto de ejemplo» lo recupera. «Hacer copia de seguridad…» guarda proyectos y ajustes en un solo archivo (sin las conexiones a carpetas ni las contraseñas). No se necesita cuenta; todo salvo la base de datos en vivo funciona sin conexión.
Dispositivos y navegadores
- En el escritorio, los archivos del proyecto y los destinos están a la izquierda, y el código y el diagrama en el centro; las vistas (Editor, Cambios, Problemas, Normalización, Sincronización, Documentación, Herramientas) se eligen en la barra superior. En el teléfono y en la tableta en vertical, la navegación inferior tiene Código, Diagrama, Problemas, Plan y Más.
- Las funciones de base de datos en vivo (importar desde una base de datos, una base de datos en Sincronización, «Aplicar a la base de datos», cargar datos de ejemplo, comprobaciones de datos) solo están en la aplicación de escritorio. En el navegador y en el teléfono se escriben archivos de migración o se guarda y comparte el SQL.
- La escritura directa en una carpeta está disponible en Chrome y Edge y en la aplicación de escritorio; en Safari, Firefox y en el teléfono, los proyectos se guardan en este dispositivo y se trasladan como ZIP.



Atajos de teclado
En macOS se utilizan ⌘ y ⌥; en Windows y Linux, Ctrl y Alt.
| Atajo | Acción |
|---|---|
| 1 – 7 | Vistas |
| Ctrl/⌘ S | Guardar |
| Ctrl/⌘ O | Proyectos |
| Ctrl/⌘ I | Importar |
| Ctrl/⌘ ⇧ P | Ver el plan |
| Ctrl/⌘ F | Buscar en el código |
| Ctrl/⌘ Z · ⇧ Z | Deshacer · rehacer |
| F2 | Renombrar la tabla (diagrama) |
| ← → ↑ ↓ | Mover la tarjeta seleccionada |
| Intro | Abrir la hoja de la tabla |
| Supr | Eliminar la tabla |
En pantallas táctiles, el diagrama se amplía y se desplaza con dos dedos; para dibujar una relación se toca primero la columna de origen y después la de destino. Una pulsación larga en la tarjeta de una tabla abre el menú contextual; los menús y cuadros de diálogo se abren desde abajo.
Obtener Tabliva
Pruébelo en el navegador sin instalación; para un uso continuado, adquiera la versión para macOS, Windows o Linux.