Query Magics
Aqui hay un recorrido rapido sobre como usar Query Magics.

Usa Query Magics para
- Vincular a otra tabla
- Hacer URLs clicables
- Hacer direcciones de email clicables
- Mostrar una URL como imagen
- Mostrar un numero como calificacion de estrellas
- Mostrar un numero como barra de progreso
- Mostrar un numero como dinero localizado
Como usar Query Magics
Puedes formatear los resultados de una consulta SQL simplemente agregando algo de texto al final de los nombres de tus columnas.
Por ejemplo, para formatear el campo url como un enlace harias esto:
Aqui hay un ejemplo rapido que muestra emails clicables, enlaces a otra tabla y renderiza un numero como calificacion de estrellas.

Query Magics disponibles
En todas las descripciones a continuacion, el texto entre corchetes es opcional.
Reemplazar valores con un enum personalizado
Reemplaza los valores en una columna basandose en enums definidos por el usuario.
Los enums se definen en un archivo llamado enums.json, que se encuentra en el directorio userData.
Ubicaciones del directorio userData:
- Windows:
%APPDATA%\beekeeper-studio - Linux:
~/.config/beekeeper-studio - MacOS:
~/Library/Application Support/beekeeper-studio
Crea un archivo enums.json en ese directorio con el formato a continuacion:
[
{
"name": "user_type",
"variants": [
{ "id": "1", "value": "Default" },
{ "id": "2", "value": "Admin" },
{ "id": "3", "value": "Editor" },
{ "id": "4", "value": "Viewer" },
{ "id": "5", "value": "Guest" }
]
},
{
"name": "account_type",
"variants": [
{ "id": "1", "value": "Personal" },
{ "id": "2", "value": "Business" },
{ "id": "3", "value": "Enterprise" },
{ "id": "4", "value": "Student" },
{ "id": "5", "value": "Trial" }
]
},
]
Al seleccionar columnas en tu consulta, usa el siguiente formato QueryMagic
select a as columnname__format__enum__enumname
--ejemplos
select
user as user__format__enum__user_type,
account_id as account__format__enum__account_type
En tu tabla de resultados esto reemplazara
id con value. Entonces en el ejemplo final, reemplazara todos los valores donde account_id es 1 con "Personal"
Aqui estan los enums en accion:



Formatear como enlace clicable
Hacer URLs clicables
Formatear como direccion de email clicable
Similar a los enlaces, hace los emails clicables - esto abrira una ventana de redaccion en tu cliente de email predeterminado.
Formatear como check/tick
Muestra un check o cruz - 1 para check, 0 para cruz. No hay mas opciones
Formatear como imagen (img)
Toma una URL y la muestra como imagen. Puedes cambiar el ancho y alto si lo deseas.
columname__format__image[__width[__height]]
--ejemplos
columname__format__image -- predeterminado
columname__format__image__50 -- establece ancho a 50
columnname__format__image__50__100 -- establece ancho a 50, alto 100
Formatear como dinero
Muestra un numero en una moneda especifica, por defecto USD.
columname__format__money[__currencyCode]
--ejemplos
columname__format__money -- USD (predeterminado)
columname__format__money__gbp -- Libra britanica
columname__format__money__cop -- Peso colombiano
Formatear como barra de progreso
Muestra un numero como barra de progreso, por defecto esto asume un rango de 0 - 100.
columnname__format__progress[__max]
-- ejemplos
columname__format__progress -- predeterminado 0-100
columname__format__progress_10 -- el rango es 0-10
Formatear como calificacion de estrellas
Muestra un numero como calificacion de estrellas (como encontrarias en un sitio de resenas). El predeterminado asume una calificacion de 0-5 estrellas.
Vincular a otra tabla (goto)
Esta magia te permite vincular a otras tablas basandote en el valor en tu conjunto de resultados, tal como funcionan los enlaces de clave foranea en la vista de datos de tabla.
Tu enlace de tabla puede opcionalmente incluir un filtro de columna.
columname__goto[__schema]__table[__column] -- sintaxis
--ejemplos
columname__goto__users -- enlace a la clave primaria de la tabla users
columname__goto__public__users -- enlace a la clave primaria de la tabla users en el esquema public
columname__goto__products__user_id -- enlace a la tabla products, filtrar por user_id
Porque puedes proporcionar un filtro, puedes usar esto para mas que enlaces de clave foranea. Por ejemplo, podrias vincular a todos los productos comprados por un usuario especifico.