Novidades no DataGrip 2024.1

O DataGrip 2024.1 chegou! Esta primeira grande atualização de 2024 está repleta de melhorias. Vamos examinar todos os novos recursos e atualizações!

AI Assistant: opção para anexar esquemas Apenas DataGrip

Agora o AI Assistant permite que você melhore a qualidade das consultas em SQL geradas, anexando um esquema de banco de dados para dar contexto no chat. Por enquanto, são anexados apenas os nomes das tabelas e colunas, e há um limite máximo de 50 tabelas.

Para usar este recurso, você precisa dar permissão ao AI Assistant para pesquisar os objetos do banco de dados no seu projeto.

Você pode fazer isso cada vez que anexar um novo esquema ou simplesmente marcar a opção de lembrar a sua escolha no pop-up Attach Schema. Neste caso, a opção Enable database context será automaticamente habilitada.

Importante: Se a opção Enable database context estiver ativa, o AI Assistant terá acesso a todos os nomes de objetos em todas as fontes de dados.

Agora os recursos do menu de contexto do editor, tais como Explain Code, compreendem o esquema atual ao serem invocados a partir de consoles de bancos de dados.

Como o AI Assistant tem acesso ao seu esquema, você pode:

  • Gerar consultas a partir de solicitações em linguagem natural:
  • Obter insights sobre os seus esquemas:
  • Efetuar buscas incomuns:

E isso é só uma pequena amostra do que você pode fazer. As possibilidades são infinitas!

Trabalhando com dados

Filtragem local no editor de dados

Finalmente chegou um recurso muito aguardado: agora você pode filtrar linhas pelos valores das colunas.

Este método é rápido, porque não envolve enviar uma consulta ao banco de dados. No entanto, é importante observar que esse filtro só afeta a página atual. Portanto, se você quiser filtrar mais informações, pode simplesmente alterar o tamanho da página ou mandar buscar todos os dados.

Se você quiser desativar todos os filtros locais no editor de dados atual, desative o botão Enable Local FilterLocal Filter icon.

E não se esqueça da função de pesquisa local de texto (Ctrl/Cmd+F)! Ela já existe há décadas, mas ainda pode ser útil, especialmente se você só tiver uma vaga ideia da localização dos dados que estiver procurando.

Visualização de um só registro

Agora você pode se concentrar em um só registro no editor de dados. Para abrir a visualização de um registro, use o atalho Ctrl/Cmd+Shift+Enter ou o botão Record View Show Record View icon na barra de ferramentas.

As células na visualização de um registro serão editáveis se também o forem na grade principal.

Você também pode mudar o layout para duas colunas, se isso se encaixar nos seus casos de uso:

Possibilidade de mover colunas em arquivos CSV

A partir da versão 2024.1, você pode mover colunas ao editar um arquivo CSV no editor de dados e essas alterações serão aplicadas no próprio arquivo.

Mais recursos para UUIDs

Em resposta a vários pedidos que recebemos no nosso rastreador de issues, facilitamos o trabalho com UUIDs:

  • Adicionamos uma nova ação: Generate UUID.
  • Agora é possível editar qualquer coluna com UUIDs, incluindo as representadas pelos tipos binary(16), blob(16) e semelhantes.
  • Agora os valores das colunas de UUIDs podem ser validados durante a edição. PostgreSQL

Simplificação de sessões

No decorrer dos últimos anos, recebemos bastante feedback de usuários que dizem não compreender o conceito de sessões e que essa funcionalidade tem contribuído de forma significativa na curva de aprendizado do DataGrip. Aqui estão vários exemplos:

O modelo centrado no projeto e sessões separadas de console é muito exagerado e complicado. Esse modelo transforma o ato de abrir e executar um arquivo simples de SQL em uma tarefa exaustiva. Se eu quiser apenas abrir e executar um script, tenho que primeiro criar um projeto, depois adicionar o arquivo ao projeto, depois abrir um console, depois abrir uma sessão e, por fim, anexar o arquivo à sessão. Que AMOLAÇÃO gigantesca!
Para quem veio do SQL Server Management Studio, a interface de usuário do DataGrip é muito mais complexa. No SSMS, basicamente, só há servidores, consultas e resultados. No DataGrip, há sessões, consoles, arquivos temporários, etc., etc., tornando a ferramenta muito menos intuitiva para novos usuários.
Parte da forma como funciona a interface de usuário é desajeitada e não é óbvia. Quando eu tenho que selecionar um console para executar um script nele, não fica totalmente claro para mim por que eu tenho que fazer isso ou quais são os desdobramentos dessa seleção. Esse comportamento realmente não deveria ser o padrão.

No DataGrip, "sessão" é um termo técnico que se refere ao container de uma conexão. Em outras palavras, pode-se estabelecer, interromper e reestabelecer conexões dentro de uma sessão. Há uma sessão para cada conexão.

A capacidade de anexar sessões é um mecanismo poderoso, mas na maioria dos casos, os usuários só precisam determinar o contexto (fonte de dados e banco de dados ou esquema) para executar as consultas.

A partir da versão 2024.1, os usuários não precisarão mais escolher manualmente a sessão na qual executar consultas. Isso valerá para todos os tipos de consultas. As sessões ainda estarão lá nos bastidores, mas você não precisará se preocupar com elas. Vamos mergulhar fundo e ver como essa mudança afetará os principais casos de uso do DataGrip.

Anexar e alternar entre fontes de dados

Agora, para anexar um arquivo, você só precisa selecionar a fonte de dados, em vez da sessão. Depois de selecionar a fonte de dados, você escolhe o esquema.

Alternar entre sessões

Agora a ação Switch Session só aparece no menu de contexto do cliente na janela de ferramentas Services. Ela permite que você alterne entre sessões apenas dentro da fonte de dados atual.

Funções de execução

Você não precisa mais selecionar uma sessão antes de iniciar uma função. Na janela Execute Routine, a nova opção Run from permite que você selecione o console ou arquivo do qual a função será iniciada.

Trabalhando com código

Estilo alinhado de código em declarações INSERT de várias linhas

Agora você pode formatar declarações INSERT de várias linhas de modo a alinhar seus valores. O formatador analisará a largura dos valores em cada coluna e aplicará a largura mais adequada.

Para ativar este recurso, marque a opção Align multi-row VALUES:

O DataGrip consegue até lidar com situações nas quais alguns valores são muito mais longos que outros. O formatador detectará esses valores e abrirá exceções para eles, movendo os campos restantes para a próxima linha.

Esse comportamento é controlado por estas três opções:

Complementação de colunas em cláusulas GROUP BY

Agora o DataGrip analisa os agregados usados em cláusulas SELECT e inclui as listas de colunas apropriadas nas sugestões da cláusula GROUP BY.

Alerta em cláusulas WHERE TRUE

Expandimos nosso alerta Unsafe query. Agora ele avisa se você executar uma consulta com a condição WHERE TRUE ou uma de suas variações. Isso pode ser uma bênção se você for daqueles que gostam de ter essa cláusula para fins de depuração, mas às vezes se esquecem de alterá-la!

Símbolos personalizados para aceitar sugestões

Adicionamos a possibilidade de especificar quais símbolos você usará para aceitar sugestões de complementação de código, permitindo que você programe ainda mais rapidamente em SQL. Para isso funcionar, você precisa habilitar duas opções. Esta:

E esta:

Este recurso pode ser especialmente útil ao usar operadores:

Linhas fixas no editor

Para simplificar o trabalho com arquivos grandes, introduzimos linhas fixas no editor. Este recurso mantém elementos estruturais importantes, como declarações CREATE, fixados no alto do editor enquanto você rola o código. Assim, o contexto fica sempre visível e você pode navegar rapidamente pelo código clicando numa linha fixa.

Esse recurso está habilitado por padrão. Você pode desativar este recurso através de uma caixa de opção em Settings/Preferences | Editor | General | Appearance, onde você também pode especificar o número máximo de linhas fixas.

Diversos

Suporte a comandos de módulos do Redis Stack Redis

Agora o DataGrip tem suporte a comandos dos quatro principais módulos do Redis Stack: RedisJSON, RediSearch, RedisBloom e RedisTimeSeries. Esse suporte também precisa da nova versão 1.5 do driver. O módulo RedisGraph ficou obsoleto e não terá mais suporte. Com o suporte a esses módulos:

  • Você pode enviar comandos a partir desses módulos e ver os resultados.
  • Os comandos desses módulos são realçados adequadamente.
  • As chaves dos tipos fornecidos por esses módulos são exibidas no explorador de bancos de dados.

Documentos JSON

Agora os documentos JSON são exibidos em uma pasta dedicada. Você pode visualizar os valores deles no visualizador de dados e especificar o caminho do JSON.

Outros tipos de dados

As chaves fornecidas pelos módulos RedisTimeSeries e RedisBloom são exibidas sob a pasta data structures.

Suporte a bancos de dados externos compartilhados através de catálogos de dados Amazon Redshift

Agora existe suporte a bancos de dados externos compartilhados através de catálogos de dados. Agora o conteúdo deles passa por uma introspecção e a complementação está disponível para eles.