DBeaverを「最強の相棒」に進化させる:Eclipseプラグイン自作のススメ
こんにちは。日々データベースと格闘しているエンジニアの皆さん、お疲れ様です。
皆さんは、DBeaverを使っていて「ここにあと1つ、独自の解析ボタンがあれば…」「このクエリ結果を特定の社内フォーマットで一瞬で整形できたら…」と思ったことはありませんか?
DBeaverは非常に高機能ですが、実はその真の力は「拡張性」にあります。DBeaverはJavaで書かれた「Eclipse RCP(Rich Client Platform)」アプリケーションです。つまり、Eclipseのプラグインとして拡張機能を自作すれば、DBeaverを自分専用の最強ツールへと魔改造できるのです。
今日は、その第一歩として「DBeaverに独自のビュー(表示領域)を追加する」ための基礎を、現場の知見を交えて解説します。
—
1. なぜDBeaverを拡張するのか?
市販のツールや汎用的なGUIでは、どうしても「チーム独自のワークフロー」にフィットしない瞬間が訪れます。
- 定型業務の自動化: 複雑なクエリの実行とログ保存をワンクリックにする。
- 安全装置の導入: 本番環境への特定のSQL実行時に独自のバリデーションを挟む。
- UIの最適化: 頻繁に参照するメタデータを、常に特定のウィンドウに表示させておく。
これらは、外部のスクリプトで解決しようとすると手間ですが、プラグインとして組み込めば、DBeaverの内部データ構造に直接アクセスでき、圧倒的なパフォーマンスとUXを実現できます。
—
2. 開発環境のセットアップ:ここが最初の関門
DBeaverプラグイン開発には「Eclipse IDE for RCP and RAP Developers」が必要です。
手順
1. Eclipse RCPのインストール: 公式サイトからRCP版をダウンロードしてください。
2. DBeaverソースコードの取得: GitHubから[DBeaverのソース](https://github.com/dbeaver/dbeaver)をクローンします。
3. ターゲットプラットフォームの設定:
- Eclipseの `Window > Preferences > Plug-in Development > Target Platform` に移動します。
- DBeaverのルートディレクトリにある `product/community/dbeaver-community.target` を読み込ませます。
- ここが重要: 全ての依存関係が解決されるまで数分~数十分かかります。エラーが出ない状態になるまで待つのが「儀式」です。
—
3. HelloWorld:独自のビューを追加する
今回は、DBeaverを開いた時に「Hello, DBeaver Plugin!」と表示するだけのシンプルなビューを作成します。
ステップ1:Pluginプロジェクトの作成
- `File > New > Project > Plug-in Project` を選択。
- プロジェクト名を `com.mycompany.dbeaver.ext.hello` とします。
- 「Generate an activator」にチェックを入れます。
ステップ2:plugin.xmlの定義
`plugin.xml`(拡張ポイントを管理する心臓部)に、ビューの定義を追加します。
ステップ3:ビューの実装クラス
Javaでビューの中身を描画します。
package com.mycompany.dbeaver.ext.hello;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.part.ViewPart;
public class MyHelloView extends ViewPart {
@Override
public void createPartControl(Composite parent) {
// SWTを使って画面を構築します
Label label = new Label(parent, 0);
label.setText(“Hello, DBeaver Plugin! データベースライフを楽しもう。”);
}
@Override
public void setFocus() {
// フォーカス時の挙動
}
}
—
4. 動作確認:デバッグの極意
作成したプラグインをテストするには、Eclipse上で「Eclipse Application」の実行構成を作成します。
1. `Run > Run Configurations` を開く。
2. `Eclipse Application` を右クリックして新規作成。
3. 「Run」を押すと、開発中のプラグインが組み込まれた「新しいDBeaver」が起動します。
4. メニューの `Window > Show View > Other…` から「My Custom View」を選択してください。
画面上に自作のビューが表示された瞬間、あなたはただのDBeaverユーザーから「DBeaverの設計者」へと一歩足を踏み入れたことになります。
—
5. 最後に:現場で震えるほど役立つアドバイス
DBeaver拡張の面白さは、「DBeaverの内部API(`DBPDataSource`, `DBCSession`など)に直接触れられること」にあります。
例えば、接続中のDBのテーブル名を取得したり、実行中のSQLをインターセプトしてログを飛ばすような機能も、この仕組みを使えば数行のコードで実装可能です。
最初は難しく感じるかもしれませんが、Eclipseの強力なオートコンプリートと、DBeaverのGitHubにある既存の拡張(`plugins`ディレクトリの中身)を参考にするだけで、驚くほど簡単に機能は作れます。「かゆい所」があれば、自分で掻けばいい。それがエンジニアの特権です。
ぜひ、あなただけの最強のDBeaverを育ててみてください。また現場でお会いしましょう!