PyCharm 2026.1 Help

スキーマの比較と移行

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

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

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

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

PyCharm では、同じ型のデータベースオブジェクト 2 つを比較できます。 例: 2 つのスキーマ、2 つのテーブル、または 2 つのルーチンを比較できます。 オブジェクトを含むデータベースは、別のサーバーでホストできます。 PyCharm は、 マイグレーション ダイアログでこれらの 2 つのオブジェクトの構造の違いを表示します。

移行は、構造と変更をあるオブジェクトから別のオブジェクトに (たとえば、あるスキーマから別のスキーマに) 移行するプロセスです。 PyCharm では、これらのオブジェクトは Origin および ターゲット と呼ばれます。 移行スクリプトは、 ターゲットOrigin と等しくするように生成されます。 ただし、要件を満たすようにスクリプトを変更できます。

移行の構造を比較するダイアログ

変更には、PyCharm は次の色分けを使用します。

説明

アイテムは新規です。

Origin で追加されたオブジェクトは、移行が成功した場合 ターゲット で作成されます。

アイテムは異なります。

変更されたオブジェクトは、 ターゲット で変更されます。

削除するアイテム。

Origin で削除されたオブジェクトは、移行が成功した場合 ターゲット でドロップされます。

参照 セクションのダイアログコントロールの説明を参照してください。

スキーマの比較

オブジェクト間の違いを表示

  1. データベース ツールウィンドウで、同じ型の 2 つのオブジェクトを選択します。 例: 2 つのスキーマ。

  2. 選択部分を右クリックし、 構造を比較する を選択します。 または、 Ctrl+D を押します。

    移行におけるオブジェクト間の違いダイアログ

表形式で変更間の違いを表示する

  1. マイグレーション ダイアログで、 Origin または ターゲット フィールドの項目をクリックします。

  2. Object Properties Diff タブをクリックします。

DDL の変更間の違いを表示する

  1. マイグレーション ダイアログで、 Origin または ターゲット フィールドの項目をクリックします。

  2. DDL Diff タブをクリックします。

    オブジェクトのプロパティの違い

同一のアイテムを表示する

  • Origin オブジェクトと ターゲット オブジェクトで同一のすべてのアイテムを表示するには、 Show identical チェックボックスを選択します。

    同一のレコードを表示オプションが有効になっています
    「同一レコードの表示」が無効になっています

スキーマの移行

オブジェクト間の変更を移行する

  1. データベース ツールウィンドウで、同じ型の 2 つのオブジェクトを選択します。 例: 2 つのスキーマ。

  2. 選択範囲を右クリックし、コンテキストメニューから 構造を比較する を選択します。 または、 Ctrl+D を押します。

    移行スクリプトの作成に使用できる一連のステートメントは、 Script Preview タブで生成されます。

  3. Script Preview タブで、移行スクリプトが正しいことを確認します。

  4. 実行 をクリックしてください。 または、 Open Query in Console をクリックして、クエリコンソール ですべてのスクリプトを開きます。

移行する変更を選択する

  • 変更を除外するには、変更の近くにあるチェックボックスをクリックします。

  • すべての変更を除外するには、 ターゲット ラベルの近くにあるチェックボックスをクリックします。

  • 除外されたすべての変更を含めるには、 ターゲット ラベルの近くにあるチェックボックスをクリックします。

移行の制御ダイアログ

アイコン

ツールチップとショートカット

説明

すべて展開

すべて展開

折りたたまれたすべてのノードを展開します。

すべて折りたたむ

すべて折りたたむ

展開されたすべてのノードを折りたたみます。

入れ替え

入れ替え

Origin パネルと ターゲット パネルを交換します。

オプション

オプション

  • オブジェクトをスキーマ名で修飾: データベースオブジェクトをスキーマ名で修飾するタイミングを設定します。

    • なし: スキーマ名を追加しないでください。

    • に: すべてのオブジェクト名にスキーマ名を追加します。

    • 自動: すべてのオブジェクトが 1 つのスキーマに属している場合、またはスキーマが現在のスキーマである場合は、スキーマ名を省略します。 ほとんどの場合、現在のスキーマとは、ユーザーがログイン時に選択したスキーマです。

    このオプションは生成されたコードに影響しますが、サーバーから直接受信したコードには影響しません。

  • 制約の配置: 制約を配置する場所を設定します。

  • オブジェクトの再作成を許可: 変更が可能でない場合にオブジェクトを再作成。

  • サロゲート (自動生成) 名を使用: 作成者によって省略され、サーバー側で自動的に生成された名前を使用します。

  • 識別子の大文字小文字の変更を無視: 識別子の大文字小文字の変更を無視します。

  • 無効化条項またはステートメントを生成する: 現在無効になっている要素を無効にするためのコードを生成します。

  • オーナーを無視: 生成されたスクリプトのオブジェクトオーナーを無視します。

  • 権限をスキップ: 権限コードを生成しない。

  • ユーザー定義の権限を表示: アクセス可能なすべてのオブジェクトに対する権限を再作成します。

  • 順序を無視: 列の順序を無視します。

  • データベース提供コードを再生成する: データベースによってソースコードの一部として提供されているプロパティの定義を再生成します。

  • 生成コードを整形: 現在のコードスタイルプロファイルを使用して、生成されたコードを再フォーマットします。

    このオプションは生成されたコードにのみ影響し、サーバーから直接受信したコードには影響しません。

  • 拡張メンバーの無視: 拡張機能から生成されたオブジェクトを無視します。

  • Ignore Implicit Objects: 自動的に生成されるオブジェクトを無視します。 例:外部キーのインデックス、Microsoft SQL Server の列デフォルト用の DEFAULT CONSTRAINT

  • Ignore Source Code: 関数または手続きの本体を無視します。 オブジェクトは、種類と ID(たとえば関数シグネチャー)に基づいてマッチングされます。 2 つの関数は、種類と ID が等しい場合、等しいとみなされます。 そして、差分ビューアーはこのオプション、つまり関数本体を無視するかどうかを考慮します。

選択済み。

Include change

選択した変更を適用します。

Show identical

同一のアイテムをすべて表示します。

DDL 差分の制御

項目

ツールチップとショートカット

説明

「前の相違」ボタン/「次の相違」ボタン

Previous Difference/Next Difference

Shift+F7/F7

次または前の相違に移動します。

ソースへ移動ボタン

ソースに移動

F4

選択したオブジェクトの定義をエディターのアクティブペインで開きます。 キャレットは 差分ビューアー と同じ位置に配置されます。

Side-by-side viewer

ビューアーモードを選択します: Side-by-side viewer または Unified viewer。 横並びモードには 2 つのパネルがあり、ユニファイドモードには 1 つのパネルがあります。

空白

差分ビューアーが空白をどのように扱うかを定義します。

  • Do not ignore: 空白は重要であり、すべての違いがハイライトされています。 このオプションはデフォルトで選択されています。

  • Trim whitespaces: 空白が行の最後と先頭にある場合は空白を削除します(("\t", " "))。

    • 2 行の末尾の空白のみが異なる場合、これらの行は等しいと見なされます。

    • 2 行が異なる場合、末尾の空白は 単語モードでハイライトされません。

  • 空白を無視: 空白は、ソースコード内の場所に関係なく、重要ではありません。

  • Ignore whitespaces and empty lines: 空白と空行を無視します。 次のエンティティは無視されます。

    • すべての空白 (空白を無視 オプションと同様)

    • 空白のみで構成されるすべての追加または削除された行

    • 空白以外の部分を変更せずに行を分割または結合するすべての変更。

      例: a b ca \n b c の違いは、このモードではハイライトされません。

ハイライトモード

違いをハイライトする方法を選択します。

利用可能なオプションは次のとおりです:

  • Highlight words: 変更された単語がハイライトされます

  • Highlight lines: 変更された行がハイライトされます

  • Highlight split changes: このオプションを選択すると、大きな変更が小さな変更に分割されます。

    例: A \n B および A X \n B X は、1 つではなく 2 つの変更として扱われます。

  • ハイライトシンボル: 変更されたシンボルがハイライトされます

  • Do not highlight: このオプションを選択した場合、違いはまったくハイライトされません。

    大幅に変更されたオブジェクトを操作する場合は、 Do not highlight オプションを使用します。 そのような場合、ハイライトすると、レビュー中にさらに困難が生じる可能性があります。

スクロールの同期

スクロールの同期

左右のペインのスクロールを同期します。

設定ボタン

設定

比較中に無視するオプションを選択します。

  • 空白を表示: 差分ビューアーで空白をドットとして表示します。

  • 行番号の表示: 差分ビューアーに行番号を表示します。

  • インデントガイドを表示: 差分ビューアーに縦線を表示してインデントの位置を示します。

  • Soft-Wrap: ダイアログのサイズが変更されると、コード行が折り返されます。

  • Highlighting Level: 差分ビューアーで ハイライトレベルを選択できます。

  • アノテーション: 変更点に アノテーションを付けます

ヘルプアイコン

ヘルプ

F1

ブラウザーを開き、対応するヘルプページを表示します。

2026 年 6 月 1 日