スキーマの比較と移行
データベースツールおよび SQL プラグインを有効にする
この機能は PyCharm にデフォルトでバンドルされ有効になっている データベースツールおよび SQL プラグインに依存しています。 関連機能が利用できない場合は、プラグインが無効になっていないことを確認してください。
Ctrl+Alt+S を押して設定を開き、 を選択します。
インストール済み タブを開き、 データベースツールおよび SQL プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
PyCharm では、同じ型のデータベースオブジェクト 2 つを比較できます。 例: 2 つのスキーマ、2 つのテーブル、または 2 つのルーチンを比較できます。 オブジェクトを含むデータベースは、別のサーバーでホストできます。 PyCharm は、 マイグレーション ダイアログでこれらの 2 つのオブジェクトの構造の違いを表示します。
移行は、構造と変更をあるオブジェクトから別のオブジェクトに (たとえば、あるスキーマから別のスキーマに) 移行するプロセスです。 PyCharm では、これらのオブジェクトは 起源 および ターゲット と呼ばれます。 移行スクリプトは、 ターゲット を 起源 と等しくするように生成されます。 ただし、要件を満たすようにスクリプトを変更できます。

変更には、PyCharm は次の色分けを使用します。
色 | 説明 |
|---|---|
| 起源 で追加されたオブジェクトは、移行が成功した場合 ターゲット で作成されます。 |
| 変更されたオブジェクトは、 ターゲット で変更されます。 |
| 起源 で削除されたオブジェクトは、移行が成功した場合 ターゲット でドロップされます。 |
参照 セクションのダイアログコントロールの説明を参照してください。
スキーマの比較
オブジェクト間の違いを表示
データベース ツールウィンドウで、同じ型の 2 つのオブジェクトを選択します。 例: 2 つのスキーマ。
選択部分を右クリックし、 構造を比較する を選択します。 または、 Ctrl+D を押します。

表形式で変更間の違いを表示する
マイグレーション ダイアログで、 起源 または ターゲット フィールドの項目をクリックします。
オブジェクトプロパティの差分 タブをクリックします。
DDL の変更間の違いを表示する
マイグレーション ダイアログで、 起源 または ターゲット フィールドの項目をクリックします。
DDL差分 タブをクリックします。

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


スキーマの移行
オブジェクト間の変更を移行する
データベース ツールウィンドウで、同じ型の 2 つのオブジェクトを選択します。 例: 2 つのスキーマ。
選択範囲を右クリックし、コンテキストメニューから 構造を比較する を選択します。 または、 Ctrl+D を押します。
移行スクリプトの作成に使用できる一連のステートメントは、 スクリプトプレビュー タブで生成されます。
スクリプトプレビュー タブで、移行スクリプトが正しいことを確認します。
実行 をクリックしてください。 または、 クエリをコンソールで開く をクリックして、クエリコンソール ですべてのスクリプトを開きます。
移行する変更を選択する
変更を除外するには、変更の近くにあるチェックボックスをクリックします。
すべての変更を除外するには、 ターゲット ラベルの近くにあるチェックボックスをクリックします。
除外されたすべての変更を含めるには、 ターゲット ラベルの近くにあるチェックボックスをクリックします。
移行の制御ダイアログ
アイコン | ツールチップとショートカット | 説明 |
|---|---|---|
すべて展開 | 折りたたまれたすべてのノードを展開します。 | |
すべて折りたたむ | 展開されたすべてのノードを折りたたみます。 | |
入れ替え | 起源 パネルと ターゲット パネルを交換します。 | |
オプション |
| |
変更を含める | 選択した変更を適用します。 | |
同一を表示 | 同一のアイテムをすべて表示します。 |
DDL 差分の制御
項目 | ツールチップとショートカット | 説明 |
|---|---|---|
| 前の差分/次の差分 Shift+F7/F7 | 次または前の相違に移動します。 |
ソースに移動 F4 | 選択したオブジェクトの定義をエディターのアクティブペインで開きます。 キャレットは 差分ビューアー と同じ位置に配置されます。 | |
横並びビューアー | ビューアーモードを選択します: 横並びビューアー または 統合ビューアー。 横並びモードには 2 つのパネルがあり、ユニファイドモードには 1 つのパネルがあります。 | |
空白 | 差分ビューアーが空白をどのように扱うかを定義します。
| |
ハイライトモード | 違いをハイライトする方法を選択します。 利用可能なオプションは次のとおりです:
| |
スクロールの同期 | 左右のペインのスクロールを同期します。 | |
設定 | 比較中に無視するオプションを選択します。
| |
ヘルプ F1 | ブラウザーを開き、対応するヘルプページを表示します。 |