Chegou o DataGrip 2022.1, nossa primeira grande atualização de 2022. Ele está repleto de vários aprimoramentos e melhorias para aumentar ainda mais a praticidade. Vejamos quais são os destaques.
Este é, sem dúvida, o grande destaque deste lançamento. Agora, você pode selecionar várias tabelas e copiá-las para outro esquema.
Selecione as tabelas que deseja copiar e pressione F5 para abrir a caixa de diálogo de exportação.
Assim como na exportação de uma única tabela, você pode mapear as colunas, bem como visualizar e alterar o DDL da nova tabela.
Como você deve saber, o DataGrip oferece suporte para exportação entre DBMS, o que significa que o esquema de destino pode pertencer a qualquer banco de dados no seu projeto. É muito fácil copiar todas as tabelas do seu banco de dados PostgreSQL para o SQL Server.
Você também pode especificar uma tabela existente, em vez de uma nova, como destino. Se fizer isso, os dados da tabela de origem serão adicionados à tabela de destino.
Adicionamos uma nova configuração, Automatically detect binary values, com duas opções: UUID e Text. A detecção de UUID agora pode ser desabilitada.
Agora, você pode editar os resultados de consultas em coleções do MongoDB diretamente de um console. Isso funcionará mesmo que .find() seja seguido de métodos como sort() ou limit().
Quando várias instruções são executadas simultaneamente no Transact SQL, elas são executadas no modo em lote. Anteriormente, isso dificultava a exibição de resultados no editor para cada consulta, mas agora o DataGrip lida bem com essa situação.
Além disso, o DataGrip agora remove todas as instruções SQLCMD ao executar consultas no modo de lote (consulte DBE-14920 para obter detalhes).
DEFAULT
agora é gerada corretamente. Às vezes, a introspecção requer permissões especiais, que são concedidas a usuários especiais. Agora, é possível usar credenciais dedicadas para introspecção. Para fazer isso, primeiro crie um modelo de sessão dedicado na aba Options.
Em seguida, use esse modelo para a introspecção selecionando seu nome no campo Use session template na seção Introspection.
Agora, você pode atualizar um objeto independentemente de todos os outros no banco de dados.
Isso poderá ser especialmente útil se você usar nosso novo recurso Introspection levels. Se for necessário visualizar o código-fonte de apenas um objeto, você poderá fazer isso facilmente clicando no botão Refresh Object no explorador de banco de dados.
Além disso, quando você abrir o editor de código fonte do objeto, o DataGrip oferecerá a opção de introspecção para o objeto selecionado.
Adicionamos suporte para o H2 versão 2.x. Aqui está a lista de alterações:
ARRAY
e ROW
. Estamos disponibilizando o driver JDBC para YugabyteDB, e você pode criar uma fonte de dados YugabyteDB com apenas um clique.
Estamos reformulando ligeiramente a janela Modify Table. A nova versão terá uma UI totalmente gerada com base em propriedades introspectivas, o que permitirá uma variedade de parâmetros específicos de bancos de dados.
Por enquanto, estamos lançando apenas uma pequena parte da atualização, mas ela já pode ser bastante útil. A nova janela Modify Table permite adicionar e editar restrições de verificação de coluna, o que antes era impossível. Além disso, agora você pode editar todas as propriedades de tabelas e colunas que recebem introspecção do DataGrip.
Achamos que você vai gostar principalmente da nova UI para colunas, pois não há recolhimento ou expansão, o que muitos usuários consideravam frustrante.
AUTO_INCREMENT
. Introduzimos um botão que permite trocar a origem e o destino ao comparar objetos ou esquemas.
Estamos constantemente melhorando a qualidade da nossa janela do visualizador diff para bancos de dados, introduzida recentemente. Algumas correções foram lançadas na versão 2021.3, mas algumas são novas na 2022.1, incluindo:
Introduzimos uma nova intenção útil, Convert To Subquery. Você não precisa mais usar a opção Surround Live Template para converter subconsultas. Na verdade, você nem precisa se preocupar em selecionar uma consulta. Basta pressionar Alt+Enter | Convert To Subquery.
Tipos multibanda foram introduzidos no PostgreSQL 14: adicionamos suporte para os tipos incorporados.
Haverá suporte para tipos multibanda personalizados no futuro.
ROWS FROM
. JSONB
. BEGIN ATOMIC
. ALTER MATERIALIZED VIEW
. USING INDEX ENABLE
. CREATE MATERIALIZED VIEW LOG
. WITH TAG
na instrução CREATE STAGE
. EXECUTE
. JSON
agora está corretamente realçado dentro de instruções. QUALIFY
. UNNEST
. UNION DISTINCT
. Antes, quando você clicava no botão Cancel statement várias vezes, parecia que a consulta havia sido encerrada, mas, na verdade, a solicitação continuava sendo executada no banco de dados.
Havia uma lógica complicada por detrás desse comportamento. No primeiro clique, o DataGrip enviava uma solicitação de cancelamento ao banco de dados, enquanto, no segundo clique, ele cancelava o processo do Driver JDBC para encerrar todas as conexões com a fonte de dados (chamaremos isso de desativação da fonte de dados). Como resultado, o DataGrip recebia um erro para a segunda solicitação de cancelamento, pois a conexão se perdia, e não porque o cancelamento estava de fato concluído.
Agora, deixamos a lógica de cancelamento mais intuitiva. Felizmente, agora ficou mais claro que é a solicitação que está sendo cancelada:
Não desativamos mais as fontes de dados sem aviso, pois isso pode ser potencialmente perigoso para alguns processos que ocorrem simultaneamente. Portanto, se você clicar no ícone Cancel uma segunda vez, o DataGrip perguntará se você realmente deseja encerrar o processo remoto ou se deseja continuar esperando. Se você optar por desativar a fonte de dados, a consulta será interrompida para o DataGrip, mas continuará sendo executada no banco de dados.
Após 10 segundos de cancelamento inativo, você terá a opção de desativar a fonte de dados de qualquer maneira.
Depois que a consulta for cancelada, um ícone de medianiz semelhante ao símbolo "Não" aparecerá à esquerda dela.
Antes, quando você tentava anular uma solicitação ao criar uma conexão, a fonte de dados era desativada.
Agora, você pode interromper não só a execução de uma solicitação, como também a criação de uma conexão. Isto é especialmente relevante para a primeira consulta do console, que também cria uma conexão.
Agora, você pode interromper o processo de criação de uma conexão sem desativar a fonte de dados: se você clicar no botão Cancel enquanto a conexão estiver sendo criada, ela será interrompida, e uma mensagem de Connection canceled será exibida.
Isto é relevante para mais do que apenas consultas do console de consultas. Por exemplo, se você criar uma conexão antes de iniciar uma introspecção, a ação de interromper a introspecção cancelará a criação da conexão sem desativar a fonte de dados.
A estrutura das configurações de Preferences para a seção Database não mudava desde a primeira versão do DataGrip. Decidimos que era hora de melhorar a praticidade da seção, atualizando sua estrutura. Veja o que fizemos:
A configuração Track databases/schemas creation and deletion foi movida da seção General para Data Source Properties | Options e agora faz referência a uma fonte de dados específica. Essa configuração identifica se a lista de esquemas precisa ser atualizada depois de você criar ou excluir esquemas no console de consultas.
Outras configurações ainda são globais, mas agora estão incluídas em seções mais apropriadas.
Observe que, como parte dessa atualização, essas configurações serão redefinidas para seus valores padrão:
Agora, você pode distribuir o espaço de trabalho entre as guias do editor para que elas tenham a mesma largura. Para configurar isso, acesse Settings / Preferences | Advanced Settings | Editor Tabs | Equalize proportions in nested splits.
Agora, é possível exportar diagramas como arquivos yEd .graphml, JGraph .drawio, Graphviz .dot, Graphviz .dot com posições, além de arquivos Mermaid .md, Plantuml e IDEA .uml, o que os torna compatíveis com ferramentas de terceiros.