DataGrip の新機能

DataGrip 2019.2の新機能

サービスツールウィンドウ

すべてのIDEは現在、サービスと呼ばれる新しいツールウィンドウを持っています。DataGripでは、そこにあるすべての接続を監視および管理できます。

すべての接続は、対応するデータソースに独自のノードを持ちます。アイコンの小さい緑色のライトが点灯している場合は、接続が有効であることを意味しています。コンテキストメニューを使用して簡単に接続を閉じることができます。

すべてのサービスタイプをノードとして表示することも、ビューを変更してタブとして表示することもできます。ツールバーから新しいタブで表示アクションを使用するか、必要なノードをサービスツールウィンドウのタイトルバーにドラッグするだけです。

照会結果は、サービスビュー内の接続で特定のコンソールに接続されています。

重要!サービスツールウィンドウのデフォルトのショートカットは Alt+8です

.

ツリーを隠す

サービスツリーを見たくない(つまり、以前の状態に戻したい)場合は、歯車のアイコンをクリックして非表示にします。

クエリライブタイマー

サービス ツールウィンドウには、要求されている別の機能、クエリライブタイマーもあります。クエリを実行する接続については、右側を見てどれだけの時間がかかったかを確認してください。

Docker

Dockerプラグインを使用している場合は、対応するサービスもこのツールウィンドウに表示されます。

全文検索

データがどこにあるのかわからなくても、データを検索できるようになりました。これを行うには、検索したいデータソース、データソースのグループ、または個別のテーブルを選択し、コンテキストメニューから全文検索を呼び出します。もちろん、これに対するショートカットもあります。Ctrl+Alt+Shift+F

文字列を入力するためのダイアログが表示されます。検索するデータソースのリストが表示され、検索にいくつかのオプションを設定できるようになります。

さらに、データ検索を実行するためにどの特定のステートメントDataGripが実行されるかを見ることができます。

検索を実行すると、開くことができる結果が表示されます。

結果をクリックしてデータエディターを開きます。フィルタは、データが見つかった文字列だけを表示するように事前定義されています。列が多すぎてデータを見つけることができない場合は、Ctrl+Fを使用してデータエディターでテキスト検索を使用してください。

  • データベースによっては、インデックス付けされている列でのみ検索することを選択できます。このモードを使用するには、次で検索ドロップダウンメニューで全文検索インデックスを持つ列のみを選択します。

    PostgreSQLでは、クエリは where col @@ plainto_tsquery('text')になります。

    MySQLおよびMariaDBでは、照会は where match(col) against ('text' in natural language mode)になります。

    Oracleでは、次のインデックスが存在する場合はそれが使用されます: コンテキスト、ctxrule、ctxcat

    SQL Serverでは、フルテキストインデックスを持つ列がある場合、DataGripは WHERE CONTAINS(col, N'text')を使用してクエリを生成します。

    SQLiteでは、DataGripは where col MATCH ‘text’を使用してクエリを生成します。

  • すべての列モードが選択されている場合検索では、LIKE 演算子をサポートしていない列、たとえばJSON型の列が検索されます。これらの列の値は事前に文字列に変換されます。
  • Cassandraでは、OR 条件がデータベースでサポートされていないため、DataGripは1つのテーブルに対して複数のクエリを作成します。

データ・エディター

ページサイズは簡単に変更できます

データベースから取得する行数を定義するために、結果セットのツールバーからそれを実行できます。

結果タブには名前を付けることができます

結果のもう一つの超クールな改善:タブの命名!クエリの前にコメントを使うだけです。

特定のコメントだけをタブ名にしたい場合は、設定の後にテキストをタイトルとして扱うフィールドを使用して接頭辞を指定します。その単語の後に来る単語だけがタイトルとして使われます。

データベースツリービュー

クイックテーブルバックアップ

ドラッグアンドドロップでテーブルをコピーすることは可能でしたが、同じスキーマにコピーするときはうまくいきませんでした。実際、重要なデータ操作の前にテーブルのクイックバックアップを作成する必要がある場合、これは非常に便利です。これで作業できます!

クイックグループ作成

現在は、データベースエクスプローラーでドラッグアンドドロップでグループを作成することもできます。
新しいグループを作成するには、一方のデータソースを他方のデータソースにドラッグするだけです。
データソースを既存のグループに配置するには、そこにドラッグアンドドロップします。

ライブ接続

バージョン2019.2以降、小さい緑色のライトはデータソースへのライブ接続があるかどうかを示します。

強制リフレッシュ

データソースまたはスキーマに対して、強制リフレッシュという新しいアクションを使用できます。DataGripがキャッシュしたデータソース情報を消去し、最初からリフレッシュします。

検索とナビゲーションにおけるデータソースによるフィルタリング

ジャンプポップアップでオブジェクトを見つけるとき、時々リストに多くの類似したオブジェクトが存在します。プロダクション、ステージング、テストなど、多数のミラーがある場合によく起こります。

DataGrip 2019.2では、検索する場所を選択できます。特定のデータソース内、またはそれらのグループ内です。

他のオブジェクトのDDL内のソースコードを検索するときに非常に便利です。

コーディング支援

システムカタログからのオブジェクト

ほとんどすべてのデータベースにはシステムカタログがあります。リレーショナルデータベース管理システムが、テーブルや列に関する情報、組み込み関数などのスキーマメタデータを格納する場所です。

これらのカタログからのオブジェクトは、コーディング支援を提供するために必要です。コード補完で持っているのはうれしいです。使うコードは赤くなるべきではありません。

以前は、コーディングを支援するためにシステムカタログを用意する唯一の方法は、データベースエクスプローラーに追加することでした。DataGripは実際にデータベースからそれらについての情報を検索しました(ところで、いつもと同じですが)、時間がかかりました。また、それらはデータベースエクスプローラーに表示されていましたが、必ずしも必要ではありません。

この種のスキーマでは、スキーマ選択機能に稲妻のアイコンがあります。チェックしなければ、DataGripは内観して見せることはしないでしょうが、コーディングの援助で彼らのオブジェクトについての情報を使うでしょう。これを可能にするために、DataGripは各データベースのシステムカタログに関する内部データを使用します。

いくつかのデータベースのシステムカタログの例

PostgreSQL : pg_catalog、information_schema

SQL Server : INFORMATION_SCHEMA

Oracle : SYS、SYSTEM

MySQL : information_schema

DB2 : SYSCAT、SYSFUN、SYSIBM、SYSIBMADM、SYSPROC、SYSPUBLIC、SYSSTAT、SYSTOOLS

インテンションアクションとクイックフィックス

まず、インスペクションツールチップに簡易修正を統合しました。DataGripが問題の修正方法を知っている場合は、警告の上にマウスを置くだけで問題がわかります。問題を解決するには、ツールチップの左下コーナーにあるリンクをクリックするか、Alt+Shift+Enterを押します。

Alt+Enter はまだすべての可能なクイックフィックスのリストを得るために働きます。

私達はまた複数の新しいインスペクションを導入しました。

CASEの不要な使い方

CASE 構造を使用すると、DataGripはそれらがより読みやすいものに変換できるかどうかを分析します。

IF

COALESCE

GROUP BYからDISTINCTへの変換

もう1つインテンションアクションを追加しました。SELECT 句のすべての列が GROUP BY 句に表示されている場合は、GROUP BYDISTINCT に変換できます。

文字列の切り捨ての可能性

IDEは変数に値を代入するときに文字列の長さを検出し、切り捨てられるかどうかを警告します。

SQL エディター

キャレットを次の文字に移動の動作を制御するための新しいオプション

キャレットを次の文字に移動アクションのデフォルトの動作が変更されました。DataGripはキャレットを現在の単語の末尾に移動します。

キャレット移動アクションの動作を変更するには、環境設定/設定 | エディター | 一般に進みます。

人々は通常WindowsLinuxCtrl+ArrowsMacOpt+Arrows を押すことによってこの行動を実行します。オペレーティングシステムによって、デフォルトの動作が異なります。Datagripでは、Windows風の動作をMac風の動作に変更しました。

これは以前の状態です。

そしてこんな感じです:

現在のステートメントを選択

新しいアクション 現在のステートメントの選択 が利用可能になりました。アクションの検索 Ctrl+Shift+A からそれを見つけるか、またはそれ自身のショートカットを割り当てることができます。

大きな数字の折りたたみ

大きな数字の読みやすさを向上させたい場合は、ショートカット Ctrl+Minusで折りたたみます。

その他

  • DataGrip 2019.2は、デフォルトでOpenJDK 11の未認証フォークであるJetBrainsランタイム11で実行されます。
  • ツリービューでテーブルのコメントを見たい場合は、表示 | 外観に移動してツリー・ビューに説明 オプションを切り替えます。
  • [Cassandra]これらのタイプの列を編集できるようになりました。set、list、map、tuple、udt、inet、uuid、およびtimeuuid
  • 新しい複合アイテムがコード補完に含まれています:IS NULLIS NOT NULL
  • オプションタブで閉じ括弧/引用符の外に移動するはデフォルトで有効になっています。
  • オプション選択範囲を引用符または中括弧で囲むはデフォルトで有効になっています。
  • エイリアスを導入するがリファクタリングメニューに追加されました。
  • DataGripはPostgreSQL 12DBE-8384(英語)と連携します。
  • 読み取り専用モードで作業しているときに多少の矛盾がありました。読み取り専用モードから更新照会を実行したい場合、IDEはIDEレベルのモードのみをオフにし、JDBCのモードはオフにしませんでした。DBE-8145(英語)。ただし、必要に応じてクエリを実行できるように、両方を無効にします。