Formatação dos Resultados da Tabela do Data Explorer

Em Discourse, você tem a capacidade de aprimorar a aparência dos resultados de suas consultas no Data Explorer.

A formatação dos resultados de tabelas no Data Explorer pode ser feita usando sintaxe especial em suas consultas SQL, o que permite exibir seus dados de maneira mais intuitiva e visualmente atraente, diretamente na interface do Discourse.

Resultados de Tabela Formatados

Aqui está uma visão geral rápida da sintaxe e dos campos de dados que você pode usar para formatar os resultados de suas consultas:

SELECT
-- Para exibir uma citação, avatar/nome de usuário e um link para a postagem, use:
id AS post_id,

-- Para exibir o título do tópico, a contagem de postagens e um link para o tópico, use:
topic_id,

-- Para exibir o tempo em formato relativo (passe o mouse para ver a data completa), use:
updated_at as reltime$updated_at,

-- Para exibir um avatar/nome de usuário e um link para a página de atividade, use:
user_id,

-- Para exibir um nome de grupo e um link para o grupo, use:
(SELECT id FROM groups WHERE id = 12) AS group_id,

-- Para exibir um distintivo de categoria, nome e um link para a categoria, use:
(SELECT id FROM categories WHERE id = 22) AS category_id,

-- Para exibir um ícone de distintivo, nome e um link para o distintivo, use:
(SELECT id FROM badges WHERE id = 2) AS badge_id,

-- Para suprimir a formatação especial e usar apenas texto, use:
topic_id AS text$topic_id_text,

-- Para renderizar um valor como HTML, use:
'<h2>hello</h2>' AS html$html,

-- Para tratar uma coluna como um URL (se chamada `xyz_url`), e nomear o link usando o formato `nome,https://example.com`, use:
'Meta,https://meta.discourse.org' AS somecolumnname_url

FROM posts
WHERE topic_id = 32566
LIMIT 1

Abaixo está um exemplo de como os resultados de sua consulta podem parecer quando formatados usando a sintaxe acima:

Exemplos Individuais

Vamos discutir alguns desses recursos com mais detalhes:

Links de Postagem e Tópico

Você pode exibir um post_id como uma citação, avatar/nome de usuário e um link para a postagem usando AS post_id. Você também pode exibir um topic_id como um título de tópico, a contagem de postagens e um link para o tópico usando AS topic_id.

Exemplos:

SELECT
    p.id AS post_id
FROM
    posts p

SELECT
    t.id AS topic_id
FROM
    topics t

Tempo Relativo

A instrução AS reltime$updated_at exibirá um timestamp em formato relativo. Se você passar o mouse sobre um timestamp exibido neste formato, você também verá a data completa.

Exemplo:

SELECT
    id,
    updated_at AS reltime$updated_at
FROM
    posts
ORDER BY updated_at DESC

Links de Usuário, Grupo, Categoria e Distintivo

Você pode exibir avatares/nomes de usuário, nomes de grupos, nomes de categorias e ícones/nomes de distintivos, todos vinculados às suas respectivas páginas usando AS user_id, AS group_id, AS category_id e AS badge_id.

Exemplos:

SELECT
    u.id AS user_id
FROM
    users u

SELECT
    g.id AS group_id
FROM
    groups g

SELECT
    c.id AS category_id
FROM
    categories c

SELECT
    b.id as badge_id
FROM
    badges b

Renderização de Texto e HTML

Você pode exibir resultados HTML como HTML renderizado usando AS html$html. Você também pode suprimir a formatação especial para usar apenas texto usando AS text$column_name

Exemplo:

SELECT
    topic_id,
    cooked AS html$html,
    topic_id AS text$topic_id_text
FROM
    posts
GROUP BY topic_id, cooked

Renderização de URL

Se você nomear uma coluna como xyz_url, ela será tratada como um URL. Você também pode nomear um link de URL usando o formato nome,https://example.com.

Exemplo:

SELECT
    u.username,
    'https://example_site.com/u/' || u.username || '/summary' AS profile_url,
    'Profile Page,https://example_site.com/u/' || u.username || '/summary' AS profile_page_url
FROM
    users u
WHERE u.username LIKE 'anon%'

Formatação Automática

Existem também certos campos SQL no Data Explorer que são formatados automaticamente. Estes incluem:

Links

Qualquer campo que contenha um URL será automaticamente formatado como um link clicável.

Exemplo:

SELECT
    id,
    remote_url
FROM remote_themes

IDs

IDs (como IDs de postagem, IDs de tópico, IDs de usuário, etc.) são frequentemente vinculados automaticamente às suas entidades respectivas quando referenciados em tabelas estrangeiras.

Exemplo:

SELECT
    user_id
FROM
    topics

Mais Tópicos nesta Série

11 curtidas