Hoje apresentamos o DataGrip 2021.1, nosso primeiro grande lançamento deste ano e possivelmente o lançamento mais notável da história do nosso IDE. Nós esperamos que você encontre na v2021.1 a solução para pelo menos um dos seus problemas, ou talvez você descubra um novo recurso favorito, ou as duas coisas. Vamos ver o que há de novo na nova versão!
Disponível para PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server e Sybase.
Adicionamos uma interface do usuário para editar permissões de acesso ao modificar objetos.
A janela Modify user, que você pode invocar em um usuário no Database Explorer com Cmd/Ctrl+F6, agora tem uma IU para adicionar concessões a objetos:
Esta é nossa solução para quem quiser gerar instruções simples diretamente a partir do navegador do banco de dados. Os modelos dinâmicos gerais abrangem muitas situações em que você precisa rapidamente escrever uma consulta simples. Mas também entendemos que às vezes, quando você está no contexto do navegador de banco de dados e já está focando no objeto que precisa, há uma maneira melhor de obter uma consulta simples usando esse objeto.
E, claro, muitas outras ferramentas também usam esse mecanismo para reduzir o trabalho repetitivo, portanto muitos usuários já estão acostumados com ele.
Eis um vídeo curto que mostra como funciona:
Cada fragmento de código nesta lista é, na verdade, um modelo dinâmico, mas são todos modelos especiais que podem ser gerados no contexto do objeto escolhido. Por exemplo, vejamos o modelo Select first N rows from a table.
Abra a página de configurações de modelos dinâmicos e localize o modelo que você precisa:
Select first N rows from a table parece um modelo geral (e pode ser usado como tal). Já que esta sintaxe específica não pode ser usada em qualquer banco de dados, os dialetos correspondentes são configurados para o modelo. A principal diferença que torna este modelo aplicável no navegador do banco de dados é a expressão especial dbObjectName, que é usada para a variável $table$:
Você pode, claro, adicionar seus próprios modelos ou editar os existentes.
Em Settings/Preferences | Database | General escolha se prefere que seu script seja gerado no console atual ou em um novo.
Adicionamos um recurso essencial para trabalhar com o MongoDB; a partir desta versão, você pode editar dados em coleções MongoDB. Uma pré-visualização da declaração também está disponível.
Para deixar a edição mais flexível, incluímos a capacidade de alterar o tipo de campo a partir da interface do usuário. Isto pode ser feito ou a partir do menu de contexto do campo ou através do editor de valor:
Melhoramos o processo de ordenar dados:
ORDER BY
funciona de forma semelhante ao campo WHERE
(que antes era chamado Filter): insira uma cláusula funcional para aplicá-la à consulta da tabela. Se você quiser usar classificação no lado do cliente (o DataGrip não irá executar novamente a consulta, mas classificará os dados dentro da página atual), desmarque Sort via ORDER BY:
Também é possível abrir tabelas com ordenação predefinida com base na chave primária numérica. Esta configuração está em Settings/Preferences | Database | Data Views.
Nós redesenhamos a barra de ferramentas no editor de dados. Os botões Roll-back e Commit não são mais exibidos no modo de transação automática. Há dois novos botões Revert changes e Find.
Agora existe uma opção em Settings/Preferences | Database | Data Views para sempre transpor o resultado se ele tiver uma única linha.
Simplificamos a navegação e eliminamos as seguintes configurações:
Se você nunca alterou essas configurações e tinha as caixas de seleção marcadas por default, a principal diferença para você na versão 2021.1 será a seguinte: Go to declaration (Ctrl/Cmd+B) chamada num SQL DDL agora leva você para o objeto e não mais para a árvore do banco de dados.
Também incluímos um atalho para a ação Select in database tree: Alt+Shift+B para Windows/Linux e Opt+Shift+B para macOS.
O principal motivo dessa mudança é deixar a lógica mais direta: cada ação deve levá-lo ao lugar que você espera.
Agora, se você estiver com o cursor sobre um objeto:
Entendemos que alguns hábitos podem ser quebrados por causa dessas alterações e estamos prontos a fornecer maneiras de preservar sua experiência anterior. Algumas dicas:
database.legacy.navigate.to.code.from.tree
. De acordo com nossos dados, pouquíssimos usuários usaram esse fluxo. Também recomendamos o uso de atalhos para abrir o DDL em objetos. Se algum caso de uso não for mais coberto por esse novo fluxo, por favor nos avise.
A autenticação interativa do Azure Active Directory é suportada. Quando esta opção estiver ativada, o navegador abrirá automaticamente e permitirá que você faça login.
O driver JDBC Redshift 2.x está disponível para usuários DataGrip a partir desta versão. Aqui, a principal melhoria é a capacidade de cancelar consultas.
O suporte ao dialeto do Google BigQuery foi incluído na versão anterior. Nesta versão ele foi expandido para que a introspecção do banco de dados e a geração de código agora funcionem corretamente e não dependam mais da funcionalidade do driver JDBC.
Agora, se você trabalha com scripts CockroachDB ou escreve SQL para consultas neste banco de dados, seu código será destacado corretamente e todos os erros serão mostrados antes da consulta ser executada. Esta é a primeira etapa para o suporte total ao CockroachDB, que chegará numa versão futura.
Nós redesenhamos a janela de conexão para deixá-la mais amigável.
O campo URL agora pode aumentar, o que facilita trabalhar com URLs longas.
A capacidade de copiar e colar fontes de dados foi introduzida há muito tempo. Mas a partir da versão 2021.1, você pode copiar, cortar e colar fontes de dados usando os atalhos mais populares do mundo: Ctrl/Cmd+C/V/X.
O layout default do navegador de banco de dados foi alterado, fazendo com que objetos secundários estejam agora disponíveis sob um nó dedicado. As pessoas geralmente costumam trabalhar com tabelas, visualizações e rotinas, enquanto que usuários, funções, tablespaces, wrappers de dados externos e diversos outros tipos de objetos não figura no topo de sua lista de prioridades. Portanto, agora esses objetos secundários ficam ocultos debaixo de dois nós: Server Objects e Database Objects.
Se você preferir o layout antigo, basta selecionar Group Database and Schemas nas configurações sob o ícone de engrenagem.
Se você usa Oracle, há uma opção para mostrar ou ocultar objetos gerados automaticamente na árvore, que inclui:
É realizada uma introspecção para o SQLite nas funções, módulos e colunas virtuais.
A partir da versão 2021.1, será mais fácil adicionar a fonte de dados para bancos de dados que não suportamos. Agora fornecemos drivers JDBC para AWS Athena, Informix, Presto, SAP HANA, Google Cloud Spanner e muitos outros. Procure por esses bancos de dados na seção Other da lista de bancos de dados.
Fizemos algumas melhorias adicionais:
Observe que o suporte para esses bancos de dados é limitado. Depende principalmente das capacidades do driver JDBC e do suporte ao dialeto SQL:2016 pelo editor SQL do DataGrip.
Introduzimos uma nova configuração para o uso de bancos de dados não suportados. Quando você estiver trabalhando com esses bancos de dados no DataGrip, você deverá ou usar o dialeto SQL:2016 ou o dialeto Generic. Generic é quase igual a SQL:2016, com apenas uma diferença: o DataGrip não coloca em destaque os erros que encontrar.
Para acessar essa configuração, vá para Settings/Preferences | Database | General | Split a script for execution in Generic and ANSI SQL dialects. Você poderá escolher dentre os seguintes valores:
Aqui estão alguns dos problemas que resolvemos:
A inspeção que relata nomes de coluna ambíguos ficou mais inteligente e agora leva em consideração quaisquer colunas dentro de expressões de tabela comuns:
Funções e procedimentos do sistema não aparecem mais em destaque como erros quando usados sem qualificação. Agora eles também suportam navegação e complementação.
Thanks to the IntelliJ Platform, DataGrip now has support for the newline-delimited JSON Lines format used for working with structured data and logs. O IDE reconhece os tipos de arquivo .jsonl, .jslines, .ldjson e .ndjson.
Novas configurações de tipografia permitem ajustar o estilo da fonte. Na versão v2021.1, você pode definir a espessura das fontes principal e negrito em Settings/Preferences | Editor | Fonts.
Quando você copia dados binários que ainda não foram completamente carregados, o seguinte aviso será mostrado:
Se você não quiser que os dados sejam truncados, aumente o valor em Settings/Preferences | Database | Data Views | Maximum number of bytes loaded per value.
Ao exportar para o Excel, o arquivo resultante conterá a consulta numa planilha separada.
Ao importar um arquivo CSV, a opção de informar que a primeira linha é um cabeçalho agora aparece no menu de contexto, conforme mostrado abaixo:
Agora é possível anexar uma pasta arrastando e soltando-a no seu projeto.
Sempre que várias abas que dividem o editor verticalmente estiverem abertas, você poderá clicar duas vezes nelas para maximizar a janela do editor para cada uma. Para trazer a janela de volta ao tamanho original, basta clicar nela duas vezes novamente.
Algum tempo atrás, fizemos com que os nomes de abas fossem abreviados. Nem todo mundo gostou, então eis uma configuração para permitir que você escolha como quer que eles sejam exibidos.