Novidades do DataGrip 2022.3

O DataGrip 2022.3 chegou! Esta importante atualização está repleta de várias melhorias. Vejamos quais são os destaques!

Geral

Suporte para o Redis

Implementamos o tão esperado suporte para o Redis. Agora, você pode se conectar ao Redis Single Instance, explorar valores de chaves no Data Viewer, escrever e executar consultas Redis com a ajuda de nossa assistência de codificação inteligente e muito mais.

Aqui está uma rápida visão geral do que está incluído:

  • Conectividade: Redis Single Instance.
  • Introspecção: Introspecção de bancos de dados e chaves, incluindo a capacidade de definir um filtro de chave padrão para o introspector.
  • Database Explorer: Pastas separadas para chaves de diferentes tipos para o Redis v6.0+ e uma pasta com todas as chaves para versões mais antigas.
  • Execução de consultas: O driver JDBC oferece suporte à execução da maioria das consultas.
  • Assistência de codificação: Realce de código, complementação de palavras-chave e resolução para bancos de dados e chaves.
  • Editor de objetos: Alteração de nome e exclusão de chaves.
  • Data Viewer: Filtragem e realce JSON.

Para obter mais detalhes, leia a postagem no nosso blog.

Nova UI disponível nas configurações

Em maio, anunciamos um programa de prévia fechada para a nova UI para IDEs baseados em IntelliJ. O DataGrip não é exceção!

Com este primeiro passo, pretendemos apresentar a aparência reformulada de nossos produtos a um número limitado de usuários. O programa de prévia nos ajudou a acumular e processar muitos comentários reveladores, e agora estamos prontos para convidar todos a experimentar a nova UI.

Você pode mudar para a nova UI em Settings / Preferences | Appearance & Behavior | New UI Preview, testá-la e compartilhar sua opinião conosco.

Ainda estamos no processo de tornar a nova UI mais útil para o DataGrip. Por exemplo, criar uma configuração de execução, algo essencial para outros IDEs, pode não ser uma ação tão importante para usar um botão azul brilhante. Se você tiver alguma ideia sobre como personalizar a barra de ferramentas superior, compartilhe-a conosco.

Nova solução Settings Sync

Neste lançamento, introduzimos uma solução reformulada para sincronizar as configurações do seu IDE. Ela é implementada por meio de um plug-in que está incluído no pacote por padrão. A nova opção Settings Sync aparecerá nas configurações:

Antes, tínhamos dois plug-ins independentes para sincronização de configurações: IDE Settings Sync e Settings Repository.

Se você estiver usando o IDE Settings Sync, seus dados serão automaticamente migrados para o novo plug-in e, portanto, você não precisará fazer nada.

Se você for um usuário do Settings Repository, recomendamos que você continue usando sua configuração atual, pois a migração ainda está em andamento. Você receberá uma notificação no IDE quando a funcionalidade estiver pronta.

As configurações são armazenadas na nuvem anexada à sua Conta da JetBrains. Se você usar diferentes IDEs baseados no IntelliJ com a mesma Conta da JetBrains, suas configurações serão sincronizadas automaticamente.

Problema conhecido: atualmente, a seção Database de Settings não pode ser sincronizada. Essa funcionalidade será disponibilizada em breve em uma das atualizações secundárias da versão 2022.3.

Observe que as fontes de dados não fazem parte das configurações. Se você deseja compartilhar as fontes de dados, siga este tutorial.

Exibições virtuais

Este novo conceito também é virtual e permite que você use exibições sem realmente criá-las em seu banco de dados. Basicamente, trata-se simplesmente de uma consulta que recupera o resultado e é armazenada dentro do DataGrip.

 

Visualizações virtuais são visíveis no Database Explorer e podem ser executadas com um clique duplo.

Observação: no momento, não é possível usar exibições virtuais no seu código SQL.

Navegação em diagramas

Os elementos do diagrama agora são totalmente navegáveis. Todas as principais ações de navegação podem ser realizadas lá:

  • Abrir DDL: Ctrl/Cmd+B
  • Abrir dados: F4
  • Selecionar no Database Explorer: Alt/Opt+Shift+B
  • Modificar: Cmd/Ctrl+F6

Database explorer

Filtro rápido

Mais um recurso tão esperado está finalmente disponível! Agora, ao usar a pesquisa rápida, você também pode filtrar objetos. Todos os objetos não correspondentes serão ocultados.

Filtragem de esquemas com base em padrões

Se você tiver muitos esquemas diferentes, vai gostar dessa melhoria. Agora é possível escolher bancos de dados ou esquemas para introspecção com base em padrões de expressões regulares. Para fazer isso, clique em Add Pattern e defina um padrão de expressão regular no novo nó. Os bancos de dados/esquemas serão escolhidos de acordo com esse padrão.

Adicionar múltiplos padrões combinará multiplicidades, em vez de criar uma interseção delas.

O nó All agora se comporta de forma diferente das versões anteriores: ele não seleciona o esquema padrão automaticamente. Agora, você precisa escolher entre All schemas, Default schema ou aplicar um filtro regexp.

Cores para fontes de dados globais

Agora, quando você define a cor da fonte de dados global, ela é compartilhada junto com sua fonte de dados.

Arrastar e soltar para arquivos de script

Para executar o script em qualquer esquema, basta arrastar e soltar o arquivo de script da janela de ferramentas Files.

Editor de dados

Formatos para tipos de dados de data e hora

Agora, é possível personalizar como os campos dos tipos de data e hora serão exibidos no editor de dados. As configurações estão localizadas em Database | Data Editor and Viewer.

 

Isso agora está disponível para três tipos de campos:
Datetime/timestamp (com ou sem fuso horário), Time (com ou sem fuso horário) e Date.

Novo extrator: cláusula WHERE

Um intervalo selecionado de valores agora pode ser extraído como parte da cláusula WHERE:

  • Valores dentro de uma coluna são combinados com o operador OR.
  • Valores dentro de uma linha são combinados com o operador AND.
  • Se valores de apenas uma coluna forem extraídos, eles serão combinados em um operador IN.

Filtragem de SQL por múltiplos valores

Agora, a ação Filter by gera uma condição quando você seleciona vários valores.

Campo de pesquisa de texto: preencher com a seleção

Se você pressionar Ctrl/Cmd+F para pesquisa de texto, os campos de pesquisa serão preenchidos automaticamente com o valor sob o cursor. Isso é semelhante à lógica conhecida do editor de texto.

Valores de structs são exibidos corretamente Big Query

Agora, valores de structs agora são exibidos de forma legível: cada valor aninhado é exibido como uma coluna separada.

Trabalhando com código

Prévia da ação de intenção

Agora, você pode ver instantaneamente como sua consulta será alterada depois de aplicar as sugestões do IDE. A exibição aparece quando você abre a lista de ações de intenção disponíveis e passa o mouse sobre uma opção.
É possível desativar o recurso de visualização pressionando F1/Ctrl+Q enquanto a lista de ações intencionais estiver aberta.

Copiar e colar uma única linha

Se não houver seleção, pressionar Ctrl/Cmd+C seleciona e copia automaticamente a linha inteira do editor de texto. Funcionava assim antes, mas agora finalizamos completamente essa ação, facilitando a colagem da linha também. Essa linha copiada será colada como uma nova linha com um retorno de carro se não houver seleção, conforme mostrado neste vídeo:

Novo layout para o gerador de esquema SQL: Per Object By Schema and Type

O novo layout se chama Per Object By Schema and Type. Se for utilizado para gerar SQL para todo o esquema, os arquivos resultantes serão colocados em pastas de acordo com o tipo do objeto: tabelas, exibições etc.

Correções

  • DBE-6156: Oracle Agora há suporte para SET ROW.
  • DBE-12766: SQL Server Agora, há suporte para $PARTITION.

Trabalhando com tabelas

UI para chaves estrangeiras virtuais

Já faz algum tempo que a capacidade de criar chaves estrangeiras virtuais foi introduzida. Elas são usadas principalmente para:

  • Complementação de código da cláusula JOIN.
  • Mostrar relacionamentos virtuais nos diagramas.
  • Navegação por relacionamentos de dados no editor de dados.

A principal maneira de criá-las era usando a ação de intenção Store Relation na cláusula JOIN da sua consulta. Isto era meio difícil de encontrar e o uso da funcionalidade não era intuitiva. Eis o que mudamos.

Chaves estrangeiras virtuais agora são visíveis no Database Explorer:

Você pode criá-las e soltá-las aqui, no Database Explorer e na caixa de diálogo Modify Table.

Tamanho da tabela na documentação rápida MySQL PostgreSQL

O tamanho da tabela agora é exibido no pop-up de documentação rápida para MySQL e PostgreSQL. Para vê-la, clique em Show table preview.

Conectividade

Script de inicialização para modelos de sessão

Agora, é possível definir o script de inicialização para os modelos de sessão. Isso significa que o script será executado sempre que uma nova sessão for criada com base no modelo correspondente. Por exemplo, ele permite que o DataGrip execute a instrução use secondary roles all para introspecção no Snowflake.

Opções de autenticação MongoDB

Adicionamos muitos mecanismos de autenticação à caixa de diálogo de conexão do MongoDB. Para usá-los, atualize o driver para a versão 1.16.

Visualizador diff de esquemas

Suporte para dependências de objetos

O visualizador diff de esquemas agora considera os objetos dependentes. Os mais importantes desses objetos são as colunas de identidade PostgreSQL. Se as sequências relacionadas forem diferentes para duas colunas de identidade idênticas, essa diferença será exibida quando essas duas colunas forem comparadas.

 

Outro exemplo seria um acionador chamando um procedimento de outro esquema. Agora, a diferença entre esses gatilhos será exibida se os nomes da rotina forem diferentes:

Ainda há duas grandes limitações conhecidas que queremos destacar sobre o visualizador diff de esquemas:

  • DBE-16814: se uma rotina/exibição faz referência a algum objeto de seu corpo, a ordem correta do script não será garantida. Por exemplo, se uma rotina chama outra rotina, não é garantido que a última seja criada antes da primeira.
  • DBE-15598: Em alguns casos, a qualificação do objeto não está correta em corpos de objetos de origem, em expressões padrão etc.