IntelliJ IDEA 2024.1 ヘルプ

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

データベースツールと SQL プラグインを有効にする

この機能は、IntelliJ IDEA にバンドルされており、デフォルトで有効になっているデータベースツールと SQL プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。

  1. Ctrl+Alt+S を押して設定を開き、プラグインを選択します。

  2. インストール済みタブを開き、データベースツールおよび SQL プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。

IntelliJ IDEA は、データベースにソースコードを格納するオブジェクトに加えた変更を追跡します。これらのオブジェクトは、トリガー、プロシージャ、関数、ビュー、その他のオブジェクトである可能性があります。エディターでこれらのオブジェクトに加えたすべての変更は、オブジェクトのソースコードのローカルバージョンとして保存されます。

ソースコードの更新

IntelliJ IDEA は、イントロスペクションプロセス中にデータベースに関する情報を取得します。この情報は、データベースツールウィンドウでのオブジェクトの表示、DDL の表示、完了時のオブジェクトの提案、コーディング支援のためのその他の機能で使用されます。

データベースオブジェクトの DDL を編集して変更を送信することにより、データベースオブジェクトのソースコードを直接更新できます。IDE は移行スクリプトを生成し、データベースで実行します。

データベースの変更ツールウィンドウには、すべての変更の概要が表示されます。

データソースのソースコードを読み込む

IntelliJ IDEA は、イントロスペクション中にデータソースのソースコードを取得します。このプロセスは、データソースのプロパティで管理できます。

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

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

    • Shift+Enter を押します。

  2. ソースコードをダウンロードする 1 つ以上のデータソースを選択します。

  3. 選択を右クリックして、ソースのロードに移動します。次のオプションから選択できます。

    • なし : ソースコードをダウンロードしないでください。

    • システムスキーマを除外 : システムスキーマを除くすべてのオブジェクトのソースコードをダウンロードします。

    • すべてのスキーマ : 利用可能なすべてのソースコードをダウンロードします。

    Load source code for a data source

オブジェクトのソースコードを編集する

データベースオブジェクトのソースコードを更新するには、それらの DDL CREATE スクリプトを直接編集し、エディターで変更を送信します。IDE は、変更を含む移行スクリプトを生成し、それを確認するように求めてから、データベースで実行します。

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

  2. ソースコードに変更を加えます。

  3. (オプション) データベースの変更ツールウィンドウ ( 表示 | ツールウィンドウ | データベースの変更 ) で、変更されたオブジェクトをダブルクリックして差分ビューアーを開き、変更を確認します。

  4. サブミットボタン(the Submit button)をクリックしてください。

    データベースの変更ツールウィンドウのサブミットボタン (the Submit button) をクリックすると、マイグレーションダイアログが表示されます。マイグレーションダイアログには、オブジェクトの移行スクリプトが表示されます。

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

    移行スクリプトは、データベース全体またはその一部を変更するコードです。移行スクリプトを使用して、列の追加または削除、データベースのバージョンのアップグレード、列のプロパティの変更を行うことができます。

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

ソースコードのすべての変更を見る

  • メインメニューから表示 | ツールウィンドウ | データベースの変更を選択します。

    the Database Changes tool window

変更されたバージョンと保存されたバージョンの違いを見る

  • オブジェクトのソースコードを編集すると、IntelliJ IDEA は変更を追跡し、ガターでハイライトします。例: ルーチンまたはトリガー関数にコメント行を追加します。追加された行がハイライトされます。ガターでハイライトされた線をクリックすると、行の差異を表示ボタンの付いた小さなツールバーが表示されます。行の差異を表示ボタン(the Show Diff icon)をクリックして、追加したコードとソースコードのコードの違いを確認できます。

    IDE highlights changes in source code
  • データベースの変更ツールウィンドウ ( 表示 | ツールウィンドウ | データベースの変更 ) で、変更されたオブジェクトをダブルクリックして差分ビューアーを開き、変更を確認します。

    the Database Changes tool window

古いキャッシュオブジェクト

IntelliJ IDEA はデータベースからすべてのオブジェクトのソースコードをキャッシュし、高速なコーディング支援とナビゲーションを提供します。開いたオブジェクトがサードパーティの場所から更新された場合は、キャッシュされたオブジェクトがデータベース内の同じオブジェクトのソースコードと異なるという通知が表示されます。

Outdated cached objects

IDE でこの警告が表示された場合は、次のアクションから選択できます。

  • 同期化 : データベースから変更をフェッチし、キャッシュされたローカルオブジェクトを更新します。

  • チェックの無効化 : この通知を無効にします。

また、オブジェクトソースコードのバージョンとデータベース内のバージョンとの間に競合が発生する可能性があります。例: 他の人が同じソースコードを変更してサブミット (Ctrl+K) を押した場合。

Outdated cached objects

データベース内のオブジェクトのソースコードを強制的に置き換える(強制リファクタリング)か、オブジェクトの状態を同期してから変更を続行する(リファクタリングを中断して同期)ことができます。

リファクタリングを中断して同期を選択した場合、IntelliJ IDEA は送信操作を中止し、データベースから変更をフェッチします(同期化 Ctrl+F5 を押した場合と同じように)。それでも競合が存在する場合は、次の通知が表示されます。

Outdated cached objects

この通知では、次のオプションから選択できます。

  • ローカルの変更を元に戻す : すべての変更をロールバックし、データベースのバージョンに置き換えます。

  • ローカルの変更を維持 : 変更を使用して、データベース内の変更を上書きします。

  • マージ : 差分ダイアログを表示して、2 つのバージョンのオブジェクトソースコードをマージします。

    Outdated cached objects

オブジェクトの状態の色

デフォルトでは、すべてのオブジェクトは黒で表示されます。これは、オブジェクトのソースコードの現在の状態が、サーバー上の同じオブジェクトのソースコードと異ならないことを意味します。

オブジェクトのソースコードが変更されているが、サーバー上のオブジェクトのソースコードと競合していない場合、オブジェクトは青色で表示されます。

ローカルオブジェクトとサーバー上の同じオブジェクトのソースコードに競合がある場合、オブジェクトは赤で表示されます。このようなオブジェクトをエディターで開くと、競合に関する通知が表示されます。

例: 次のスクリーンショットでは、get_customer_balance 関数は変更されていますが競合は含まれていません。film_in_stock 関数は変更されており、サーバー上の同じ関数のソースと競合しています。他のオブジェクトは変更されていません。

関連ページ:

エクスポート

データベースツールと SQL プラグインを有効にするこの機能は、IntelliJ IDEA にバンドルされており、デフォルトで有効になっているデータベースツールと SQL プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択します。インストール済みタブを開き、データベースツールおよび SQL プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。さまざまな方法を使用して、データベースからデー...

スキーマの比較と移行

データベースツールと SQL プラグインを有効にするこの機能は、IntelliJ IDEA にバンドルされており、デフォルトで有効になっているデータベースツールと SQL プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択します。インストール済みタブを開き、データベースツールおよび SQL プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。IntelliJ IDEA では、同じ型の 2...

データベース変更ツールウィンドウ

IntelliJ IDEA は、ソースコードがデータベースに保存されている限り、データベースオブジェクトのソースコードに加えた変更を追跡します。たとえば、このようなオブジェクトには、ビュー、ストアドプロシージャ、トリガーなどがあります。テーブルにはソースコードは保存されません。多数のオブジェクトのソースコードにさまざまな変更が加えられた場合、データベースの変更ツールウィンドウでそれらすべてを確認できます。サブミットローカルの変更をデータベースサーバーに送信します。変更の送信と元に戻す方法の詳細に...