web-dev-qa-db-ja.com

Datagripを使用したデータベース全体のスクリプトスキーマ

Datagripを使用してデータベース全体(SQL ServerまたはPostgres)のスキーマをスクリプト化することは可能ですか?

各ストアドプロシージャ/関数のテーブルとビューおよびソースのDDLを独自に取得できることはわかっています。

データベース内のすべてのオブジェクトに対して一度に1つのスクリプトを取得できますか?

または、すべてのルーチンのコードを一度に検索する方法はありますか?たとえば、#table一時テーブルを使用しているルーチンを見つける必要がありますか?

12
vittore

2018.2から、SQLジェネレーターと呼ばれる機能があります。いくつかの利用可能なオプションを使用して、データベース/スキーマのDDL全体を生成します。

enter image description here

結果は次のとおりです。

enter image description here

しかし:テーブルが使用されている場所を理解したいだけの場合は、使用法の検索( Alt + F7またはテーブル名のコンテキストメニュー)

enter image description here

3
moscas

私は今日これを探していました、そしてちょうどそれを見つけました。コピーするスキーマを右クリックして[DDLのコピー]を選択すると、作成スクリプトがクリップボードにコピーされます。

7
RobbZ

質問の2番目の部分に答えるには、すべての手順で#tableをすばやく簡単に検索する方法として、次のクエリを実行できます。

SELECT *
FROM information_schema.routines
WHERE routine_definition LIKE '%#table%'
2
Arno Venter

今のところ、テーブルのダンプのみが機能します。 2016.3では、8月末に利用可能になるEAPが、mysqldumpおよびpg_dumpと統合されます。

Check the screenshot

0
moscas