【現場直伝】DBeaver×Gitで実現する「秘伝のタレSQL」脱却計画 — チームで成果を爆発させるバージョン管理の全手法
こんにちは!現場で日々データベースやAPIと格闘している先輩エンジニアです。
突然ですが、あなたのローカル環境や社内共有フォルダに、こんなファイルが転がっていませんか?
- `select_user_data_v2.sql`
- `select_user_data_v2_final.sql`
- `select_user_data_v3_ほんとの最新_改.sql`
「どれが本物の最新版かわからない」「他のメンバーが修正したクエリを誤って上書きしてしまった」「過去の変更理由が闇に葬られた」……。こうしたSQLスクリプトの無秩序化は、開発の現場で毎日のように発生する悲劇です。
今回は、最強の汎用DB GUIツールであるDBeaverと、バージョン管理の王道であるGit(GitHub / GitHub Desktop)を組み合わせて、チーム全体のSQL資産をスマートかつ安全に管理する環境を一から構築します。
「Gitってターミナルで難しいコマンドを打つやつでしょ…?」と不安になる必要はありません。これをマスターすれば、毎日の作業が驚くほど安全になり、チームでのコラボレーションが劇的に楽になりますよ。一緒にステップ・バイ・ステップで進めていきましょう!
—
第1章:なぜ DBeaver × Git なのか?(概念とアーキテクチャ)
DBeaverは単なる「クエリを実行するツール」ではありません。その正体は、Eclipseベースで作られた高度な統合開発環境(IDE)です。
DBeaverには「プロジェクト(Project)」という概念が存在します。
作成したSQLスクリプトや実行履歴、接続設定(暗号化可能)はすべて、ローカルディスク上の特定のフォルダ構造(ワークスペース)にファイルとして保存されています。
[DBeaverのプロジェクト構造(概念図)]
MyDBeaverProject/
├── .dbeaver/ <-- 接続設定やUI設定(Git管理の制御が必要)
├── Scripts/ <-- ここに作成したSQLスクリプトが保存される!
│ ├── 01_ddl/
│ └── 02_dml/
└── ERD/ <-- ER図ファイル
つまり、「DBeaverのプロジェクトフォルダ = Gitリポジトリ」 として結びつけるだけで、いつも通りDBeaverでSQLを書いて保存するだけで、そのままGitで履歴管理できるようになるのです。
—
第2章:事前準備(ツールのセットアップ)
まずは必要なツールを揃えましょう。以下の3つを用意します。
1. DBeaver Community Edition(無料のオープンソース版で十分です)
- 公式サイトからインストールしてください。
2. Git(すでにインストールされていればOK)
- Windowsなら `Git for Windows`、Macなら `Brew install git` または Xcode Command Line Tools。
3. GitHub Desktop(初心者におすすめのGUIツール)
- CUI(コマンドライン)操作に慣れていない方は、Git操作を視覚的に行えるGitHub Desktopを併用するのがベストです。(DBeaver内蔵のGit機能を使う方法も後述します!)
—
第3章:完全ガイド!DBeaverとGitを連携する4ステップ
それでは、実際に環境を構築して「Hello World」ならぬ「最初のSQLコミット」まで走破しましょう!
ステップ1:Gitリポジトリを準備する(ローカル or GitHub)
まずは、SQLスクリプトを格納するためのディレクトリ(リポジトリ)を作成します。
GitHub Desktopを使う場合:
1. GitHub Desktopを開き、`File` > `New Repository` を選択。
2. Name に `sql-team-repository` と入力。
3. Local Path(作成場所)を決めて `Create Repository` をクリック。
これでローカルにGit管理されたフォルダが生成されました。
—
ステップ2:DBeaverの「プロジェクト」としてGitリポジトリを読み込む
DBeaverを開き、先ほど作成したフォルダをDBeaverのプロジェクトとして認識させます。
1. DBeaverを開き、画面左側の「プロジェクト」タブを選択(表示されていない場合はメニューの `ウィンドウ` > `ビューの表示` > `プロジェクト`)。
2. プロジェクトエリアの何もない場所で右クリックし、`プロジェクトの作成` を選択。
3. プロジェクト名を入力(例: `sql-team-repository`)。
4. 【ここが極意!】 デフォルトの保存先チェックを外し、ステップ1で作成した Gitリポジトリのパス を指定します。
[指定するパスのイメージ]
C:\Users\YourName\Documents\GitHub\sql-team-repository
これで、DBeaverとGitのディレクトリが物理的に完全に同期しました!
—
ステップ3:超重要!`.gitignore` の設定(セキュリティ事故を防ぐプロの技)
ここが最も重要です!データベースのパスワードやローカル固有の設定ファイルを誤ってGitHubに公開(プッシュ)してしまう事故を防ぐため、Gitの除外設定を行ないます。
リポジトリ直下に `.gitignore` という名前のテキストファイルを作成し、以下の内容を貼り付けて保存してください。
==========================================
DBeaver & SQL Team Project .gitignore
==========================================
1. 接続資格情報・パスワードが含まれる可能性のあるファイルを絶対に除外
.dbeaver/credentials-config.json
.dbeaver/.data-sources.json.bak
.dbeaver/data-sources.json
2. 個人のローカルUI状態や一時ファイルを除外
.dbeaver/.credentials-config.json.bak
.dbeaver/project-settings.json
.log
3. OS固有のゴミファイルを除外
.DS_Store
Thumbs.db
4. 【許可設定】SQLファイルやERDファイル、プロジェクト構造は管理対象にする
!.dbeaver/
!.dbeaver/tasks.json
> プロからのワンポイントアドバイス:
> DBeaverの `data-sources.json` にはDBのホスト名やユーザー名が含まれます。接続情報をチームで共有したい場合は、パスワードを絶対に保存させない(`Keep password`のチェックを外す)設定にした上でGit管理するか、接続設定の共有手順を別途ドキュメント化するのがエンタープライズ領域の常識です。
—
ステップ4:精度高い「Hello World」動作確認(作成からCommit & Pushまで)
準備は整いました。実際にSQLスクリプトを作成し、変更履歴を記録してみましょう!
1. SQLファイルの作成(DBeaver側)
DBeaverのプロジェクト配下の `Scripts` フォルダを右クリックし、`新規` > `SQLスクリプト` を作成します。ファイル名を `01_hello_world.sql` に変更し、以下のプロ仕様クエリを記述して保存(Ctrl+S / Cmd+S)します。
— ======================================================
— 成果物: ユーザーアクティビティ集計クエリ
— 作成者: 先輩エンジニア
— 日付: 2026-03-31
— 目的: 月次アクティブユーザーの抽出およびKPI分析用
— ======================================================
SELECT
user_id,
user_name,
created_at,
COUNT(order_id) AS total_orders
FROM
users u
LEFT JOIN
orders o ON u.user_id = o.customer_id
WHERE
u.status = ‘ACTIVE’
AND u.created_at >= DATE_TRUNC(‘month’, CURRENT_DATE – INTERVAL ‘1 month’)
GROUP BY
user_id,
user_name,
created_at
ORDER BY
total_orders DESC;
2. 変更のコミット(GitHub DesktopまたはDBeaver内蔵機能)
【パターンA:GitHub Desktopを使う場合(初心者おすすめ)】
1. GitHub Desktopを開くと、左側に `01_hello_world.sql` と `.gitignore` が「Staged Changes」として自動検知されています。
2. 画面左下のSummary欄にコミットメッセージを入力:
`feat: ユーザーアクティビティ集計用の基本SQLを追加`
3. `Commit to main` ボタンをクリック。
4. `Publish repository`(または `Push origin`)を押して完了!
【パターンB:DBeaver内蔵のGit機能を使う場合】
DBeaverにはGitプラグイン(EGitエンジン)が標準搭載されています。
1. プロジェクトツリーのファイルを右クリック > `Team` > `Commit…` を選択。
2. Git Stagingウィンドウが開くので、対象ファイルを「Staged Changes」にドラッグ&ドロップ。
3. Commit Messageを入力し、`Commit and Push` をクリック!
これで、あなたのSQLスクリプトが安全にリポジトリへ刻まれました!
—
第4章:チーム運用で圧倒的成果を出す「黄金のディレクトリ構造」
個人だけでなく、チームで共有する場合に迷わないための推奨ディレクトリ構成を伝授します。プロジェクトフォルダ内を以下のように整理するのが業界のベストプラクティスです。
sql-team-repository/
├── README.md <-- リポジトリの概要、DB環境への接続手順
├── .gitignore <-- 先ほど作成した除外設定
├── ddl/ <-- テーブル定義(CREATE TABLE, ALTER TABLE)
│ ├── 001_create_users.sql
│ └── 002_create_orders.sql
├── dml/ <-- マスタデータ投入スクリプト(INSERT, UPDATE)
│ └── 001_insert_master_data.sql
└── queries/ <-- 日常業務や分析で使う定型SELECTクエリ
├── daily_reports/
└── adhoc_analysis/
DBeaverのプロジェクトパネルからフォルダ(Folder)を自由に新規作成できるので、この構造通りに整理して配下にSQLを作成していくだけで、誰が見ても一目で理解できる洗練されたSQLリポジトリが完成します。
---
まとめ:もう「秘伝のタレSQL」に怯える必要はありません
お疲れ様でした!これであなたは以下の強力なスキルを手に入れました。
1. DBeaverのプロジェクト概念を解明し、ローカルディレクトリと完全にリンクさせた
2. `.gitignore` の鉄壁設定により、データベース資格情報の流出事故を未然に防いだ
3. SQLの作成・更新から Gitへのコミット/プッシュまでの流れるような基本フローをマスターした
「SQLもコードである(Database as Code)」という意識を持つことで、過去の修正理由をいつでも確認でき、チームメンバーとのコードレビューもスムーズになります。
これをマスターすれば、毎日の作業が劇的に楽になりますよ!
ぜひ明日からの業務で導入し、洗練されたスマートなデータベース開発を体感してみてくださいね。応援しています!