PyCharm 2025.3 ヘルプ

スキーマの比較と移行

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

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

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

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

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

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

Compare the structure in Migration dialog

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

説明

Items are new

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

Items are different

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

Items to be deleted

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

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

スキーマの比較

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

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

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

    Differences between objects in the Migration dialog

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

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

  2. オブジェクトプロパティの差分タブをクリックします。

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

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

  2. DDL の差分タブをクリックします。

    Differences between object properties

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

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

    The Show identical records option is enabled
    The Show identical records is disabled

スキーマの移行

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

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

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

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

  3. スクリプトのプレビュータブで、移行スクリプトが正しいことを確認します。

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

移行する変更を選択する

  • 変更を除外するには、変更を適切にチェックボックスをクリックします。

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

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

移行の制御ダイアログ

アイコン

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

説明

Expand All

すべて展開

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

Collapse All

すべて折りたたむ

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

Swap

入れ替え

オリジンパネルとターゲットパネルを交換します。

Options

オプション

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Selected

変更を含める

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

同一のオブジェクトを表示

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

DDL 差分の制御

項目

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

説明

the Previous Difference button / the Next Difference button

前の差分 / 次の差分

Shift+F7 / F7

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

the Jump to Source button

ソースに移動

F4

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

横並びビューアー

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

空白

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

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

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

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

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

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

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

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

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

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

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

ハイライトモード

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

利用可能なオプションは以下のとおりです。

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

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

  • 分割された変更をハイライト : このオプションを選択すると、大きな変更が小さな変更に分割されます。

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

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

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

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

Synchronize Scrolling

スクロールの同期

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

the Settings button

設定

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

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

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

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

  • ソフトラップ : ダイアログのサイズが変更されると、コード行が折り返されます。

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

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

the Help icon

ヘルプ

F1

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

2025 年 10 月 28 日

関連ページ:

インスペクションの無効化と有効化

いくつかのインスペクションは現在見たくない問題を報告するかもしれません。この場合、無効にしたり抑制したりできます。インスペクションを無効にする:インスペクションを使用不可にすると、無効になります。これは、このインスペクションが検出するように設計されているという問題について、コード分析エンジンがプロジェクトファイルの検索を停止することを意味します。インスペクションを無効にすると、現在のインスペクションプロファイルで無効になります。他のプロファイルでは有効のままです。特定の種類のファイルのインスペ

Git リポジトリの変更を調査する

PyCharm では、プロジェクト内のすべての変更を追跡できます。これにより、変更の作成者を特定し、ファイルバージョンまたはコミットの違いを確認し、必要に応じて変更を安全にロールバックして元に戻すことができます。プロジェクト履歴を確認する:指定したフィルターに一致するプロジェクトソースに加えられたすべての変更を確認できます。プロジェクト履歴を表示するには、Git ツールウィンドウのログタブを開きます。すべてのブランチおよびリモートリポジトリにコミットされたすべての変更が表示されます。マルチリポ...

データベースの色設定ダイアログ

データベースツールウィンドウ (表示 | ツールウィンドウ | データベース) で、任意のオブジェクト (テーブルやデータソースなど) を右クリックし、を選択します。色を選択し、その色の使用方法を指定します (Shared および再帰的にオーバーライドを参照)。表示設定セクションのチェックボックスを使用して、ユーザーインターフェースのさまざまな場所でデータベースの色を有効または無効にします。色データベースツールウィンドウで選択した要素に使用する色をクリックします。必要な色がない場合は、カスタムをクリッ...

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

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