Skip to main content
Screenshot 2026 06 03 At 3 46 27 PM
Databases es el Build type para datos persistentes en Puente OS. Cada Database tiene un schema tipado (columnas con tipo), se conecta automáticamente a Apps y Workflows del workspace, y se edita visualmente desde el módulo Tables.
Vocabulario: “Database” es el Build type canónico (App / Agent / Workflow / Database). El editor visual donde la operas se llama Tables — son la misma cosa vista desde dos ángulos: el artefacto y la interfaz.

Crear una Database

1

Abre el editor Tables

Desde el panel de Componentes de un Project → + NuevoDatabase.
2

Define el schema

Click en el botón + del encabezado para agregar la primera columna. Ponle nombre, elige el tipo y confirma. La Database se crea en el backend con esa primera columna.
3

Agrega más columnas

Repite el paso anterior para cada columna que necesites. También puedes importar todo de una vía CSV.
El nombre interno (key) se genera automáticamente en snake_case. El nombre visible (label) puedes cambiarlo después sin afectar la integración.
Si abres el editor sin una Database seleccionada, parte en estado vacío: puedes agregar columnas a mano o crear toda la Database desde un CSV. Al agregar la primera columna, se crea en el backend automáticamente.

Tipos de columna

TipoCómo se muestraCómo se editaEjemplo
TextoTexto planoInput inline"MacBook Pro"
NúmeroAlineado a la derechaInput numérico2499.99
FechaDD/MM/YYYYDate picker2026-02-15
CheckboxCheckbox centradoToggle directotrue / false
SelectBadge de colorDropdown con opciones"Electrónica"

Sobre tipo select

  • Las opciones se definen al crear o editar la columna
  • Solo se aceptan valores dentro de las opciones definidas
  • El backend valida automáticamente al insertar o actualizar filas

Importar desde CSV

1

Click en Import CSV

En la toolbar. Si la Database está vacía, también aparece “Crear desde CSV” en el estado vacío.
2

Nombra la Database

Solo al crear una Database nueva: ingresa nombre y una descripción opcional.
3

Sube el archivo

Arrastra el CSV o haz click para seleccionar. Soporta delimitadores , y ;, con o sin comillas. El archivo se procesa en tu navegador, no se sube al backend hasta confirmar.
4

Revisa las columnas detectadas

El sistema detecta automáticamente el tipo de cada columna. Puedes corregir cualquier tipo antes de confirmar. Se muestra una preview con las primeras 5 filas.
5

Confirma

Se crea la Database y se cargan todas las filas en bulk.
Límite: máximo 10,000 filas por importación. Para datasets más grandes, divide en múltiples archivos.

Detección automática de tipos

Tipo detectadoPatrón
booleantrue/false/si/no/1/0
numberTodos los valores numéricos
dateYYYY-MM-DD, DD/MM/YYYY
textFallback (todo lo demás)

Trabajar con filas

Agregar fila

Click en + New Row en la toolbar. Se abre un modal con todos los campos. Completa y confirma.

Editar celda

Click directo en cualquier celda. La celda entra en modo edición según el tipo (input, dropdown, toggle, date picker). Confirma con Enter o haciendo click fuera.

Eliminar filas

CasoCómo
Una filaClick en el icono de papelera al final de la fila, luego confirma
Varias filasSelecciona con checkboxes → click en Eliminar seleccionadas → confirma
La eliminación de filas es irreversible. No hay papelera de reciclaje.

Selección múltiple

Activa los checkboxes de la columna izquierda para seleccionar varias filas. El checkbox del encabezado selecciona todas las filas visibles de una vez. Úsalo para eliminar en lote o accionar sobre el conjunto seleccionado.

Trabajar con columnas

Agregar columna

Click en + al final del encabezado. Completa nombre, tipo y opciones (para select).

Redimensionar

Arrastra el borde derecho del encabezado de cualquier columna.

Reordenar

Arrastra el encabezado a la posición deseada.

Ocultar/mostrar

Click en Columns en la toolbar y activa/desactiva cada columna. Las ocultas no se eliminan, solo se esconden visualmente.

Editar nombre o descripción de la Database

Click en el icono de lápiz (✏️) en la barra superior, modifica el nombre o la descripción y confirma.

Búsqueda, filtros y orden

Búsqueda global

Campo Search… en la toolbar. Opera sobre todas las columnas visibles simultáneamente. Instantánea, sin llamadas al backend.

Filtros avanzados

Click en Filter → agrega condiciones con +. Para cada condición elige columna y operador:
OperadorTiposDescripción
containstextoEl valor contiene el texto
not_containstextoEl valor NO contiene el texto
istodosIgual exacto
is_nottodosDistinto
is_emptytodosVacío o nulo
is_not_emptytodosNo vacío
gt / gtenúmero, fechaMayor (o igual) que
lt / ltenúmero, fechaMenor (o igual) que
Múltiples condiciones se combinan con AND lógico.

Ordenamiento

Click en el encabezado de cualquier columna. Cicla entre ascendente → descendente → sin orden. También puedes definir un orden por defecto con los props defaultSortColumn y defaultSortDirection.

Asistente IA

El asistente IA tiene acceso al schema y a una muestra de hasta 20 filas reales. Puedes preguntarle sobre tus datos sin escribir SQL ni fórmulas.

Cómo abrirlo

Click en IA en la barra superior derecha. El panel ocupa 320px a la derecha y la tabla se reacomoda automáticamente (funciona tanto en paginación como en scroll infinito).

Qué puede hacer

Pregúntale cosas como:
¿Cuántas filas tienen el precio mayor a 1000?
¿Qué productos están activos?
Muéstrame un resumen de los datos
¿Qué columnas tiene esta Database y de qué tipo son?

Reset del chat

Click en el icono de reinicio dentro del panel para borrar el historial. La conversación vive solo en memoria mientras tienes la Database abierta.

Exportar a CSV

Click en Export en la toolbar. Se descarga un CSV con:
  • Los datos visibles actualmente (respetando filtros y orden activos)
  • Las columnas en el orden actual (excluyendo las ocultas)

Paginación vs Scroll infinito

PaginaciónScroll infinito
NavegaciónBotones Anterior / Siguiente / página directaScroll carga más filas automáticamente
Carga inicialFilas según pageSize (default 10)3,000 filas
Carga adicionalAl llegar a la última páginaAl scrollear al final, carga 3,000 más

Configuración de paginación

PropDefaultDescripción
pageSize10Filas por página
pageSizeOptions[10, 25, 50, 100]Opciones del selector
En modo paginación, deja que el contenedor crezca con el contenido (sin altura fija). En scroll infinito, el componente usa altura fija y scrollea por dentro.

Personalización visual

Los colores y tamaños del editor son configurables desde el panel de la App:
PropDefaultQué controla
backgroundColor#ffffffFondo del grid
headerBackgroundColor#f4f4f5Fondo del encabezado
textColor#374151Color del texto de las celdas
borderColor#e5e7ebBordes y separadores
accentColor#3b82f6Selección, focus y botones principales
rowHoverColor#f9fafbColor al pasar el cursor sobre una fila
fontSize13pxTamaño de fuente del contenido
headerFontSize12pxTamaño de fuente de los encabezados
rowHeight36pxAltura de cada fila

Conectar con Apps y Workflows

Las Databases son first-class citizens del workspace. Cualquier App o Workflow puede leer y escribir.

Conectar a una App

Desde el tab Datos del App Builder, selecciona tu Database y mapea columnas. La App deja de usar datos mock.

Trigger de Workflow

Configura un Workflow para que se dispare cuando una fila cambie, se agregue o se elimine.

Preguntas frecuentes

No hay límite duro. Con scroll infinito (virtual scroll), el editor maneja 50,000+ filas sin degradación, porque solo renderiza las filas visibles más un buffer. La importación CSV está capada en 10,000 filas por archivo. Para datasets de millones de filas, escribe a soporte para discutir opciones.
No. La eliminación es irreversible. Si necesitas auditoría, considera agregar una columna estado con un valor archivado en vez de eliminar.
Usa el botón + del encabezado. El schema se migra automáticamente y las filas existentes quedan sin valor en la nueva columna (aparecen como null).
El sistema intenta convertir los valores existentes al nuevo tipo. Si un valor no se puede convertir, queda como null y se te notifica antes de confirmar.
No en el editor visual. Si necesitas auditoría, configura un Workflow con trigger en rowAdd/cellChange que guarde el cambio en otra Database de historial.