DataGrip 2024.2 ヘルプ

データベースオブジェクトのソースコードを更新する

DataGrip では、DDL CREATE スクリプトでデータベースオブジェクトのソースコードを直接更新できます。IDE は、確認してデータベースに送信するための移行スクリプトを生成します。

単一のデータベースオブジェクトを更新する

ステップ 1. ソースコードをロードする

DataGrip は、データソースのイントロスペクション中にデータベースオブジェクトのソースコードを取得します。取得したソースコードを変更してデータベースに送信することができます。

  1. データソースのプロパティを開きます。次のいずれかのオプションを使用して、データソースのプロパティを開くことができます。

    • ファイル | データソース ... に移動します。

    • Ctrl+Alt+Shift+S を押します。

    • データベースエクスプローラー ⌘ 1 ( 表示 | ツールウィンドウ | データベースエクスプローラー ) で、データソースのプロパティアイコン (The Data Source Properties icon) をクリックします。

    Add new data source
  2. ソースコードをダウンロードするデータソースを右クリックし、ソースのロード | システムスキーマを除外を選択します。

    Load source code for a data source
  3. OK をクリックします。

ステップ 2. 変更を加える

オブジェクトのソースコードに必要な変更を加えるには、DDL エディターで DDL CREATE スクリプトを直接開いて編集します。

  1. データベースエクスプローラーで、オブジェクトを右クリックし、ナビゲーション | DDL に移動を選択します。または、Ctrl+B を押します。

  2. DDL エディターで開いた DDL CREATE スクリプトで、必要な変更を加えます。

    Changes in the source code

    オブジェクトはサードパーティの場所から更新できます。この場合、キャッシュされたオブジェクトはデータベース内の同じオブジェクトのソースコードとは異なります。詳細については、「古いキャッシュオブジェクト」を参照してください。

ステップ 3. 変更を送信する

データベースオブジェクトのソースコードに加えた変更をデータベースに送信します。

  1. デフォルトでは、有効なスクリプトの移行スクリプトプレビューは、送信時にオブジェクトの移行ダイアログに表示されません。このステップで表示されていることを確認してください。それ以外の場合、有効な移行スクリプトはサイレントに実行されます。

    Ctrl+Alt+S を押して IDE 設定を開き、データベース | その他 | リファクタリングに移動して、ソーステキストを更新する場合に有効なスクリプトのプレビューを表示するチェックボックスが選択されていることを確認します。

  2. DDL エディターで、ツールバーのサブミットアイコン (the Submit button) をクリックします。

  3. 開いたオブジェクトの移行ダイアログで、移行スクリプトが正しいことを確認します。

    DataGrip は移行スクリプトを自動的に生成できますが、実行する前に確認する必要があります。

    Migration script with changes for a single database object
  4. OK」をクリックしてスクリプトを実行します。

より複雑な変更を適用する必要がある場合、DataGrip は、たとえば DROP および CREATE を含む対応する移行スクリプトを生成します。

Migration script with changes for a single database object

複数のデータベースオブジェクトを更新する

ステップ 1. ソースコードをロードする

DataGrip は、データソースのイントロスペクション中にデータベースオブジェクトのソースコードを取得します。取得したソースコードを変更してデータベースに送信することができます。

  1. データソースのプロパティを開きます。次のいずれかのオプションを使用して、データソースのプロパティを開くことができます。

    • ファイル | データソース ... に移動します。

    • Ctrl+Alt+Shift+S を押します。

    • データベースエクスプローラー ⌘ 1 ( 表示 | ツールウィンドウ | データベースエクスプローラー ) で、データソースのプロパティアイコン (The Data Source Properties icon) をクリックします。

    Add new data source
  2. ソースコードをダウンロードするデータソースを右クリックし、ソースのロード | システムスキーマを除外を選択します。

    Load source code for a data source
  3. OK をクリックします。

ステップ 2. 複数のオブジェクトの DDL スクリプトを変更する

データベースオブジェクトのソースコードに必要な変更を加えるには、DDL エディターで DDL CREATE スクリプトを直接開いて編集します。

  1. データベースエクスプローラーでオブジェクトを選択し、右クリックしてナビゲーション | DDL に移動に移動します。または、Ctrl+B を押します。

  2. 各オブジェクトの DDL エディターで開く DDL CREATE スクリプトで、必要な変更を加えます。

    Changes in the source code of multiple objects

    オブジェクトはサードパーティの場所から更新できます。この場合、キャッシュされたオブジェクトはデータベース内の同じオブジェクトのソースコードとは異なります。詳細については、「古いキャッシュオブジェクト」を参照してください。

ステップ 3. 保留中の変更を観察する

  1. 変更を確認するには、データベースの変更ツールウィンドウ ( 表示 | ツールウィンドウ | データベースの変更 ) で、変更されたオブジェクトをダブルクリックします。あるいは、オブジェクトを選択し、差分の表示アイコン (the Show diff icon) をクリックします。

  2. 開いた差分ビューアーで、選択したオブジェクトに対する変更を確認します。

Diff Viewer for modified source code

ステップ 4. 変更を送信する

データベースオブジェクトのソースコードに加えた変更をデータベースに送信します。

  1. デフォルトでは、有効なスクリプトの移行スクリプトプレビューは、送信時にオブジェクトの移行ダイアログに表示されません。このステップで表示されていることを確認してください。それ以外の場合、有効な移行スクリプトはサイレントに実行されます。

    Ctrl+Alt+S を押して IDE 設定を開き、データベース | その他 | リファクタリングに移動して、ソーステキストを更新する場合に有効なスクリプトのプレビューを表示するチェックボックスが選択されていることを確認します。

  2. 変更されたすべてのデータベースオブジェクトの変更を一度に送信するには、データベースの変更ツールウィンドウでオブジェクトを選択し、ツールバーのサブミットアイコン (the Submit button) をクリックします。

  3. 開いたオブジェクトの移行ダイアログで、含まれているすべてのデータベースオブジェクトに対して移行スクリプトが正しいことを確認します。

    DataGrip は移行スクリプトを自動的に生成できますが、実行する前に確認する必要があります。

  4. OK」をクリックしてスクリプトを実行します。

Migration script with changes for multiple database objects

関連ページ:

用語集

データベースへの接続データベースに接続するには、DataGrip には接続の詳細 (ホスト、ポート、パスワード、SSH 構成設定など) が必要です。すべてのデータベースの接続の詳細は、専用の接続構成 (データソース) に保存されます。データソースの場合、データベースへの接続は特別なラッパー (セッション) で確立されます。各セッションは単一の接続のラッパーであり、接続の情報 (アクティブかどうか、トランザクション制御モード、その他の設定など) を保存します。データベースとの対話を必要とするアクション...

エクスポート

さまざまな方法を使用して、データベースからデータとオブジェクト構造をエクスポートできます。これらの方法には、さまざまなジェネレーター、データ抽出ツール、およびショートカットの使用が含まれます。また、TXT、CSV、JSON、XML、Markdown、Excel、その他の形式でデータをエクスポートできます。事前定義されたデータ抽出プログラムを選択することも、独自のデータ抽出プログラムを作成することもできます。DataGrip では、オブジェクト構造とデータを個別にエクスポートします。これは、テーブ...

データベースオブジェクトのソースコードを変更する

DataGrip は、データベースにソースコードを格納するオブジェクトに加えた変更を追跡します。これらのオブジェクトは、トリガー、プロシージャ、関数、ビュー、その他のオブジェクトである可能性があります。エディターでこれらのオブジェクトに加えたすべての変更は、オブジェクトのソースコードのローカルバージョンとして保存されます。ソースコードの更新:DataGrip は、イントロスペクションプロセス中にデータベースに関する情報を取得します。この情報は、データベースエクスプローラー内のオブジェクトの表示...

スキーマの比較と移行

DataGrip では、同じ型の 2 つのデータベースオブジェクトを比較できます。例: 2 つのスキーマ、2 つのテーブル、または 2 つのルーチンを比較できます。オブジェクトを含むデータベースは、別のサーバーでホストできます。DataGrip は、マイグレーションダイアログでこれら 2 つのオブジェクトの構造の違いを示します。移行は、構造と変更をあるオブジェクトから別のオブジェクトに (たとえば、あるスキーマから別のスキーマに) 移行するプロセスです。DataGrip では、これらのオブジェク...

すべてのデータベースまたはスキーマを表示

デフォルトでは、DataGrip はデータベースエクスプローラー内のイントロスペクトされたスキーマとデータベースのみを表示します。大規模なデータソースの場合、大量のスキーマのイントロスペクションは長いプロセスになる可能性があるため、これによりディスク領域と時間を節約できます。また、ワークフローに不要なスキーマやデータベースを非表示にすることもできます。イントロスペクトして表示するスキーマまたはデータベースのリストを編集するか、IDE ですべてのデータソーススキーマとデータベースを表示できるように...

クエリを保存する

このチュートリアルでは、クエリを DataGrip に保存するいくつかの方法について説明します。日常のタスクに適した方法を使用できます。例は、Sakila PostgreSQL データベースの guest.public スキーマについて示されています。DataGrip で Sakila PostgreSQL データベースを作成して実行する方法の詳細については、Docker コンテナーで PostgreSQL Sakila データベースを実行するトピックを参照してください。SELECT ステートメント...