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

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

表形式で変更間の違いを表示する
マイグレーション ダイアログで、 Origin または ターゲット フィールドの項目をクリックします。
Object Properties Diff タブをクリックします。
DDL の変更間の違いを表示する
マイグレーション ダイアログで、 Origin または ターゲット フィールドの項目をクリックします。
DDL Diff タブをクリックします。

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


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