DBeaver × Git:SQLを「ただのテキスト」から「資産」に変える極限運用術
多くのエンジニアがDBeaverを「単なるGUIクライアント」として使っている。それはフェラーリで近所のコンビニに買い物に行くようなものだ。
DBeaverの真価は、接続管理にあるのではない。「プロジェクト機能」と「Git」を統合し、SQLをアプリケーションコードと同等の「資産」として扱うプロセスにある。
本稿では、チームの生産性を底上げし、SQLの属人化を排除するための「プロの運用フロー」を伝授する。
—
1. 開発の土台:DBeaverプロジェクトの構造化
DBeaverの「プロジェクト」機能を使わずに、デスクトップに適当に保存した`.sql`ファイルをGit管理しようとするのは悪手だ。まずはプロジェクトをGitリポジトリのルートに直結させる。
推奨ディレクトリ構成
/your-repo-root
├── .dbeaver/ # DBeaverの設定ファイル群(Git管理対象)
├── scripts/ # 共有SQLスクリプト群
│ ├── migrations/ # DDL: 変更履歴を時系列で
│ ├── analytics/ # DML: 分析用クエリ
│ └── patches/ # 一時的なデータ修正クエリ
└── .gitignore # 認証情報を除外する設定
`.gitignore` の極意(必須設定)
DBeaverの接続情報にはパスワードが含まれる可能性がある。絶対にリポジトリにコミットしてはいけない。
.gitignore
接続先情報は共有せず、各個人のローカル設定に留める
.dbeaver/data-sources.json
.dbeaver/credentials-config.json
ワークスペース固有のキャッシュは除外
.metadata/
—
2. チーム開発を加速させる「神設定」の共有
チーム全員で同じ設定を共有するには、DBeaverの「プロジェクト内設定」を活用する。
共有すべき設定:`project-settings.json`
プロジェクトフォルダ内の `.dbeaver/project-settings.json` を調整することで、チームのコードスタイルを強制的に統一できる。
{
“sql.proposals.insert.table.alias”: true,
“sql.format.keyword.case”: “upper”,
“sql.format.break.before.comma”: true,
“sql.format.indent.size”: 4
}
- ポイント: これをGit管理下に置くことで、誰が書いても同じフォーマットのSQLが生成される。レビュー時の「読みやすさ」によるストレスをゼロにするのが目的だ。
—
3. 開発スピードを劇的に高める「裏技」キーボードショートカット
マウスでメニューを辿る時間は、エンジニアにとって最も不要なコストだ。以下のショートカットを手に叩き込め。
| アクション | ショートカット (Win/Mac) | なぜ重要か |
| :— | :— | :— |
| SQLエディタの切り替え | `Ctrl + F6` | 複数のクエリを行き来する際の迷子防止 |
| 現在のクエリ実行 | `Ctrl + Enter` | 範囲指定の手間を省く |
| フォーマット整形 | `Ctrl + Shift + F` | コミット前の儀式(必須) |
| 接続先変更 | `Alt + Shift + X` | 実行コンテキストの即時切り替え |
| 検索/置換 | `Ctrl + H` | ファイルを跨いだSQLの検索 |
—
4. プロの現場で導入すべき「神プラグイン」
DBeaverは拡張性が高い。以下のプラグイン(または外部連携)は必須級だ。
1. Markdown Editor: クエリの近くに仕様のメモを残すために必要。READMEをSQLとセットで管理する文化を作る。
2. Git GUI連携 (GitHub Desktop / Sourcetree): DBeaver内のGit機能は万能ではない。「SQLの編集はDBeaver、コミット/プルリクエストは外部のGitクライアント」と役割を明確に分けるのが、最も安定する運用だ。
—
5. 伝説のエンジニアが教える「運用の極意」
① 「クエリの履歴」を信じるな
DBeaverの「SQLエディタ履歴」は、あくまで個人の作業メモだ。「明日も使うクエリ」「チームで共有すべきクエリ」は、作成した瞬間にプロジェクト内の `scripts/` フォルダへドラッグ&ドロップせよ。
② DDLの「スキーマ比較」を武器にせよ
DBeaverの「比較機能」は非常に強力だ。開発環境のテーブルと本番環境のテーブルを比較し、差分をSQLとして出力する。これをそのままマイグレーションスクリプトとしてGitに保存すれば、手作業でのDDLミスは物理的に発生しなくなる。
③ 認証情報の分離
接続情報は `Data Source Manager` で作成するが、パスワードは入力しない。「パスワードを保存しない」設定にし、ログイン時に都度入力するか、環境変数と連携させる。これがセキュリティ事故を防ぐ唯一の道だ。
—
最後に:なぜここまでやるのか
SQLは、データベースという巨大な心臓を動かすための「命令」である。それが管理されていない状態は、ソースコードがGitで管理されていないのと同じくらい恐ろしいことだ。
DBeaver × Gitの運用を徹底すれば、「あの時のクエリどこだっけ?」という会話はチームから消失する。
さあ、今すぐプロジェクトフォルダを作成し、Gitの `git init` を叩け。そこから、あなたのチームのSQL管理は「職人芸」から「エンジニアリング」へと進化する。