Esquema de tabla¶
El diseñador de tablas define la estructura de una tabla de casos. Tiene tres pestañas: Información básica, Diseñador de columnas e Índices y relaciones. Guardar nunca cambia la tabla viva: crea una versión en borrador que después se compara y se publica.
Información básica¶
| Campo | Reglas |
|---|---|
| Dominio | Obligatorio. La tabla siempre pertenece a un dominio, y el prefijo del dominio forma parte del nombre físico: PREFIJO_NOMBRE_TABLA |
| Nombre | Obligatorio, hasta 80 caracteres, mayúsculas, números y guion bajo, empezando con una letra |
| Clasificación | Obligatoria, se elige al crear y no se puede cambiar después |
| Descripción | Contexto opcional para otros usuarios |
Clasificaciones¶
| Clasificación | Comportamiento de los datos | Columnas |
|---|---|---|
| Configuración | Las filas semilla son la fuente de verdad; la edición libre de datos está bloqueada | Se agregan columnas de auditoría |
| Editable | Las semillas son datos iniciales; después de la primera publicación los datos son tuyos | Se agregan columnas de auditoría |
| Proceso | Las filas las crean los casos | Se agregan columnas de sistema: APP_NUMBER, APP_TITLE, CASE_UID |
| Analítica | Solo lectura; la llena de forma asíncrona el servicio consumidor | Sin semillas ni columnas de auditoría |
| Sistema | La administra el propio complemento | — |
La clasificación es la decisión más importante de esta pestaña: define si la grilla es editable, si aplican las semillas y qué columnas se agregan solas.
Columnas¶
Tipos¶
VARCHAR, INT, BIGINT, DECIMAL, FLOAT, BOOLEAN, DATE, DATETIME,
TIME, TEXT, ENUM, JSON.
VARCHAR y DECIMAL llevan longitud o precisión; ENUM lleva su lista de
opciones; BOOLEAN acepta true, false, 0 o 1; las fechas usan YYYY-MM-DD
y las horas HH:MM:SS.
No existe el tipo Archivo.
Reglas de estructura¶
El diseñador valida mientras escribes, con las mismas reglas que aplica el servidor:
- una tabla necesita al menos una columna;
- los nombres de columna siguen el mismo patrón que el nombre de la tabla y deben ser únicos dentro de la tabla;
- un valor por defecto se comprueba contra el tipo de la columna antes de aceptarse;
- al menos una columna debe ser clave primaria.
Claves y valores por defecto¶
- Una columna de clave primaria no puede ser nula; la casilla de nulo queda deshabilitada.
- El autoincremento solo se ofrece para claves primarias enteras (
INT,BIGINT). - La columna
IDpor defecto no se puede eliminar. - En columnas
ENUM, los valores aceptados se listan en el editor de la columna.
Quitar y reordenar¶
Arrastra las columnas para reordenarlas. Quitar una columna es destructivo: el diseñador avisa cuando la tabla ya tiene filas, y quitar una columna de una tabla publicada es una operación bloqueada (ver la revisión más abajo). Para retirar una columna sin perder datos, márcala como obsoleta.
Índices y relaciones¶
Índices¶
- Los nombres se generan solos:
idx_<tabla>_<COL_1>_<COL_2>para los normales yuidx_<tabla>_<COL_1>para los únicos, truncados a 64 caracteres. - El mismo conjunto ordenado de columnas se informa como índice duplicado.
- Un índice puede marcarse como único o fulltext.
- El diseñador lista los índices que ya existen, para ver qué agregaría un cambio.
Llaves foráneas¶
Una llave foránea apunta una columna local a una columna de otra tabla:
- Elige la columna local.
- Elige la tabla de referencia y la columna de referencia.
- Elige la columna de visualización, que es la que se muestra en los desplegables de captura, para que el usuario elija un valor reconocible y no un ID suelto.
ON DELETE CASCADE y ON UPDATE CASCADE son opcionales. Con la llave foránea
activa, la grilla de datos muestra un desplegable con las filas de referencia en
lugar de un número.
Revisar y publicar¶
Revisar y publicar ejecuta el mismo diff que hará el servidor, sin tocar la tabla. Por cada operación muestra qué cambia, con cuánta confianza y a qué costo:
| Señal | Significado |
|---|---|
| Operación | ADD_COLUMN, RENAME_COLUMN, CHANGE_TYPE, DROP_COLUMN, DROP_TABLE, … |
| Confianza del renombre | Un renombre de baja confianza se trata como quitar y agregar, porque los datos no se pueden mapear con seguridad |
| Puntaje y etiqueta de severidad | LOW, MEDIUM, HIGH o CRITICAL |
| Tiempo estimado | Cuánto se espera que tarde la migración |
Compuertas de severidad¶
| Etiqueta | Se activa con | Qué pasa |
|---|---|---|
| LOW | Cambios aditivos pequeños | Se ejecuta automáticamente desde Trabajos |
| HIGH | Puntaje ≥ 41, o una operación que elimina filas | Requiere aprobación antes de ejecutarse |
| CRITICAL | Puntaje ≥ 61, un algoritmo COPY, una estimación de más de 10 minutos o quitar la tabla |
Requiere aprobación y programación fuera del horario laboral |
Operaciones bloqueadas¶
Dos operaciones se rechazan directamente sobre una tabla publicada:
- quitar una columna — márcala como obsoleta en su lugar;
- quitar la tabla — usa las acciones de tabla en Tablas.
Los renombres ambiguos también se bloquean: renombrar dos columnas a la vez, o renombrar y mover una columna en el mismo cambio, se informa como posible renombre — revierte y renombra paso a paso. Corrige los problemas que lista la revisión y el botón de publicar se habilita de nuevo.
Después de publicar¶
Publicar agrupa las operaciones en un solo plan de trabajo:
PENDING → ACTIVE_PENDING → IN_PLAN → SYNCING → ACTIVE
Si la migración falla, la tabla pasa a ERROR y se puede reintentar. Ver Estados de tabla y sincronización y Trabajos.
Relacionado¶
- Tablas — la lista de tablas y su ciclo de vida.
- Datos de la tabla — trabajar con las filas.
- Estados de tabla y sincronización — qué pasa mientras migra.
- Trabajos — los planes que crea la publicación.