O DataGrip 2021.2 chegou! Esta é a terceira grande atualização de 2021 e vem com vários aprimoramentos. Vejamos o que ele tem a oferecer!
A geração de fontes de dados DDL é outra etapa no nosso desenvolvimento em longo prazo de um controle de versão de banco de dados contínuo. Com esse recurso, você pode manter seus arquivos DDL em um sistema VCS e gerá-los novamente sempre que sua estrutura de banco de dados for atualizada.
Agora, é possível gerar uma fonte de dados DDL com base em uma real. Os arquivos DDL são criados localmente, e a nova fonte de dados se baseia neles. Dessa maneira, você sempre poderá gerar novamente esses arquivos e atualizar a fonte de dados DDL.
Vejamos como isso funciona.
Adicionamos um novo item de menu, Dump to DDL data source, ao menu de contexto SQL Scripts.
Quando a caixa de diálogo for aberta, você precisará especificar a pasta na qual os arquivos recém-criados serão armazenados.
Na guia Generation, especifique como esses arquivos DDL devem ser gerados.
Por fim, clique em OK para criar a fonte de dados DDL.
A pasta com os novos arquivos é automaticamente anexada ao seu projeto.
Na v2021.2, você pode criar objetos em uma fonte de dados DDL por meio da UI. Os arquivos correspondentes serão criados localmente.
Os seguintes recursos importantes foram adicionados a diagramas:
Se você estiver procurando uma revisão específica em Local History, poderá usar a pesquisa de texto para obter ajuda.
Agora, o DataGrip controla alterações locais para códigos fonte de objetos. Isso pode ser especialmente útil ao trabalhar com procedures e funções.
Como os fontes de cada objeto são armazenadas em um arquivo, todas as alterações externas também são consideradas alterações locais. Quando você faz a introspecção do seu banco de dados, esse arquivo é atualizado.
Você pode usar o pop-up Local History para controlar quaisquer alterações em uma função ou procedure. Observe que todas as alterações externas serão consideradas uma só alteração se acontecerem no intervalo de duas execuções da introspecção.
Depois de recebermos alguns comentários de usuários que não gostaram dos nomes de guias abreviados, introduzimos a opção de alterá-los novamente. Se preferir nomes de guia longos, desmarque a opção Shorten Tab Titles.
Por muito tempo, tivemos a ação Hide All Tool Windows, que podia ser chamada com um clique duplo em uma guia ou pressionando Shift+Ctrl+F12. Muitos usuários a tratavam como uma ação Maximize Editor, e ela funcionava como tal.
Depois que introduzimos o mecanismo de divisão, a situação ficou mais complicada. Essa ação deve ocultar as guias divididas ou não? Então, fizemos o seguinte:
Agora, é possível definir quais objetos devem ser apresentados na lista de complementação de código: objetos apenas do alternador de esquemas (ou do caminho de pesquisa), do escopo atual ou de todos os esquemas.
Isso também pode ser gerenciado pela complementação inteligente. Para chamá-la, pressione a tecla de atalho de complementação (geralmente Ctrl+Espaço) várias vezes.
Campos e operadores agora estão disponíveis na complementação de código para o MongoDB. Leia esta postagem para obter mais detalhes.
A complementação de código para sinônimos entre bancos de dados está disponível.
Colunas computadas são levadas em consideração ao complementar instruções INSERT
– elas não são incluídas no item sugerido.
DBE-10515, DBE-2212: objetos do esquema do contexto atual têm prioridade mais alta na lista de complementação de código.
DBE-7781, DBE-10650: o alias automático aparece apenas quando necessário.
DBE-12018: a qualificação da tabela na complementação de JOIN
funciona conforme esperado.
DBE-12479: a prioridade de ASC/DESC
dentro de uma cláusula ORDER BY
foi elevada.
DBE-13341: a complementação do PostgreSQL em instruções GRANT/REVOKE
funciona conforme esperado.
Consultas que usam expressões de tabela comuns recursivas agora são devidamente realçadas e podem ser executadas sem serem selecionadas.
Agora há suporte para a sintaxe de expressões de tabela comuns quando o nome CTE vem antes da palavra-chave AS
.
DBE-3759, DBE-13364, DBE-13365: inspeções em busca de agregados funcionam com mais precisão.
DBE-10782: ClickHouse - Chega de alertas falsos-positivos da inspeção que relata argumentos não nulos em COALESCE
.
DBE-13188: campos de tipo de registro Oracle PL/SQL são resolvidos corretamente.
DBE-10550: aliases de tabelas do DB2 são resolvidos corretamente.
Se você ativar a opção Separate Procedures and Function nas configurações do explorador de banco de dados (o ícone de engrenagem), isso terá efeito imediato.
Para o SQL Server, há nós dedicados para funções escalares e de tabela. Para o PostgreSQL, há um nó para funções de gatilho.
Uma nova opção de árvore de banco de dados, Show Constraints and Triggers in the Schema, atribui a gatilhos, chaves e índices seus próprios nós individuais no explorador de banco de dados.
Por que isso é útil?
Se você desativar a opção Sort Alphabetically nas configurações do explorador de banco de dados, a classificação natural para objetos será aplicada.
Esta é a aparência quando a opção Sort Alphabetically está desativada:
Esta é a aparência quando a opção Sort Alphabetically está desativada:
...e quando Sort Alphabetically está ativada:
O CockroachDB terá suporte total nesta versão. O DataGrip não dependerá mais da introspecção baseada em JDBC, mas usará a nativa em vez disso.
Ela é muito mais rápida que a introspecção baseada em JDBC. Além disso, role, deftype e check constraint não podiam ser incluídos na introspecção na versão anterior. A lista completa de objetos que agora são incluídos na introspecção inclui database, role, privilege, schema, sequence, deftype, table, view, mat view, index, column e constraints. A ausência de introspecção para partitions é um problema conhecido.
Há algum tempo, anunciamos um mecanismo para criar chaves estrangeiras virtuais. Agora, usamos esse mecanismo para cobrir pg_catalog com chaves estrangeiras virtuais. Isso traz algumas melhorias.
Em primeiro lugar, a complementação de JOIN
ajuda você a consultar tabelas do sistema:
Em segundo lugar, você pode navegar por dados em tabelas do sistema:
Adicionamos suporte para tablespaces, arquivos de dados e arquivos temporários. Agora, eles são incluídos na introspecção:
Eles também estão incluídos na geração de DDL:
Ainda não há suporte total, pois metadados não estão disponíveis para objetos em servidores vinculados. Servidores vinculados são mostrados no explorador de banco de dados, e o DDL para sua criação pode ser gerado.
Introduzidos na versão anterior, os templates dinâmicos de contexto agora funcionam a partir do editor de dados. Se você está trabalhando com uma tabela e deseja consultá-la, pode fazer isso facilmente com a ajuda da ação SQL Scripts.
Recentemente, introduzimos Alt+Clique para classificação aditiva. Porém, se você prefere usar Clique, pode personalizar esse comportamento:
Agora, você pode adicionar colunas às coleções do MongoDB. Essa ação permite adicionar um novo campo a qualquer documento de uma coleção.
Delete column excluirá os dados não apenas da página que está sendo exibida, mas também de toda a coleção.
Com a ajuda do editor de dados da UI, agora você pode adicionar e remover colunas em arquivos CSV.
Ao trabalhar em um editor de dados, às vezes você pode usar cláusulas complicadas em campos WHERE
e ORDER BY
. Se quiser continuar trabalhando com a consulta resultante, use uma nova ação, Copy Query to Console, sob o ícone de engrenagem. Ela abre a consulta no console padrão.
Para tornar a navegação mais rápida, removemos a opção First row. Nenhum pop-up será exibido, e você acessará a tabela que mostra todas as linhas referenciantes ou referenciadas.
Se você tiver chaves estrangeiras apontando para objetos em outro esquema, e esses objetos tiverem os mesmos nomes, eles serão exibidos como qualificados na UI de navegação de chaves estrangeiras.
DBE-12545: o tamanho do campo ORDER BY
é salvo.
DBE-13055: o fuso horário é sempre mostrado para valores com fuso horário.
DBE-9814: valores Oracle do tipo DATE
não exibem a hora se nenhuma hora for definida.
DBE-12679: Oracle - A filtragem pelo campo DATE
é possível.
DBE-12716: DB2 - A filtragem por binary, blob, char for bit data e varchar for bit data é possível.
Quando você termina uma importação, um link para a nova tabela aparece nas notificações.
O comportamento da barra de navegação agora é mais direto: a tecla Enter sempre expande o nó.
Antes, a tecla Enter abria dados para tabelas e abria consoles para fontes de dados.
Se quiser navegar a partir do objeto na barra de navegação em vez de abrir seu nó, use estes atalhos de navegação:
Agora, quando você está procurando uma função, um procedimento ou um operador, o DataGrip mostra a assinatura na janela Go To. Isso ajuda quando você usa muito o recurso de sobrecarga.
Começando nesta versão, você pode aproveitar a UI do DataGrip totalmente traduzida nos idiomas chinês, coreano e japonês. A tradução está disponível como plug-ins de pacote de idiomas não inclusos, que podem ser facilmente instalados no DataGrip. Mais de 1,5 milhões de usuários começaram a usar a versão EAP parcialmente traduzida dos nossos pacotes de idiomas. Agora, você pode aproveitar a experiência completa de tradução!
No DataGrip, os projetos agora estão localizados por padrão no mesmo lugar de todos os outros IDEs baseados em IntelliJ: na pasta pessoal do usuário, dentro da subpasta DataGripProjects.
Seu projeto no DataGrip é um complexo das suas fontes de dados, arquivos de console e trabalho e pastas anexadas. Antes, esses elementos eram armazenados na pasta configuration e, por isso, todas as vezes que você atualizava seu IDE, os projetos eram copiados junto com as configurações do IDE.
Às vezes, isso fazia com que a lista de fontes de dados ficasse vazia. Esse problema foi resolvido, e agora o DataGrip se comporta da maneira consistente com outros IDEs.
Devido a erros na migração do projeto, os usuários que usaram a primeira compilação EAP podem ter perdido seus Favoritos, Marcadores, Configurações de Execução ou dados sobre chaves externas virtuais. Para restaurá-los, migre da versão anterior novamente. Os detalhes estão descritos aqui: DBE-13410.
Esses botões facilitam a navegação na janela Settings, evitando que você se perca dentro dela.
Adicionamos Advanced Settings como um novo nó em Preferences/Settings. Ele contém algumas opções específicas para cada caso de uso, convenientemente agrupadas pela ferramenta IDE. A maioria das configurações foi transferida do Registro, embora algumas delas sejam novas.
Algumas configurações dignas de nota:
Uma nova ação Show Scratch Files (disponível em Find Action: Cmd+Shift+A) mostra uma lista de esboços com snippets em um pop-up. Ela tem a mesma UI que o pop-up Recent Locations, com pesquisa rápida e exclusão.
Quando uma consulta não retorna dados, não há necessidade de a janela de ferramentas Services aparecer se ela já está oculta. Agora, você pode definir quais operações fazem a janela de ferramentas Services aparecer por conta própria.
DBE-12079: PostgreSQL - reformulamos o introspector. Para você, o principal efeito do novo introspector é que não há mais duplicatas de objetos.
DBE-13164: não ocorrem mais congelamentos ao digitar instruções JOIN
junto com o uso de chaves estrangeiras virtuais.
DBE-194931: arquivos de trabalho vazios agora são removidos automaticamente.