【実務・中級編】DBeaverとGitを連携してSQLファイルをバージョン管理する方法 – データベース・API管理活用バイブル

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管理は「職人芸」から「エンジニアリング」へと進化する。

タイトルとURLをコピーしました