𝕏 f B! L
案件・求人数 12,345
案件を探す(準備中) エージェントを探す(準備中) お役立ち情報 ログイン
案件・求人数 12,345
OpenClawでDB管理・マイグレーションを自動化する方法

OpenClawでDB管理・マイグレーションを自動化する方法

OpenClawデータベース自動化マイグレーション
目次
⚡ 3秒でわかる!この記事のポイント
  • OpenClawのスキルとcronジョブでDB管理のルーティン作業を完全自動化できる
  • スキーマ変更の検知・マイグレーション・バックアップを人手なしで運用可能
  • スロークエリ検出やディスク監視のアラートで障害を未然に防止

データベースの管理作業に追われて、本来の開発に集中できていない──そんな経験はありませんか。結論から言うと、OpenClawのスキルとcronジョブを組み合わせれば、DB管理のルーティン作業をほぼ完全に自動化できます。

この記事はOpenClaw完全攻略シリーズの第23回として、データベース管理の自動化を実践的に解説します。

この記事でわかること
  • OpenClawでDB管理を自動化するメリット
  • スキーマ変更の自動検知とマイグレーション運用
  • バックアップ・リストアの自動化設定
  • パフォーマンス監視とアラートの構築方法

OpenClaw × データベース管理自動化のメリット

なぜDB管理にAIエージェントを使うのか

従来のDB管理は、定型的でありながらミスが許されない作業の連続です。OpenClawを使うことで以下のメリットが得られます。

  • 24時間監視:cronジョブで定期的にDBの状態をチェック
  • 異常の即時検知:スロークエリ、ディスク逼迫、接続数異常をリアルタイムに通知
  • ヒューマンエラー防止:マイグレーションの手順を自動化し、手動ミスを排除
  • ナレッジの蓄積:過去の対応履歴がスキルとして蓄積される

対応可能なDB種別(PostgreSQL・MySQL・MongoDB)

OpenClawは主要なデータベースすべてに対応できます。

DBバックアップコマンドモニタリングORM連携
PostgreSQLpg_dump / pg_restorepg_stat_statementsPrisma / Drizzle
MySQLmysqldump / mysqlpumpperformance_schemaPrisma / TypeORM
MongoDBmongodump / mongorestoredb.serverStatus()Mongoose

スキーマ変更の自動検知とマイグレーション

Prisma / Drizzle / TypeORM連携

OpenClawスキルからORMのマイグレーション機能を呼び出す例(Prismaの場合):

# スキーマ差分の検出
npx prisma migrate diff --from-schema-datamodel prisma/schema.prisma \
  --to-database $DATABASE_URL

# マイグレーションファイルの生成
npx prisma migrate dev --name auto_$(date +%Y%m%d_%H%M%S)

OpenClawのスキルとして実装すれば、スキーマファイルの変更を検知して自動でマイグレーションファイルを生成する運用が可能です。

マイグレーションファイルの自動生成スキル

SKILL.mdの設計例:

# db-migrate スキル
## トリガー
- cronジョブ(毎日AM2:00)
- 手動実行(openclaw invoke db-migrate)

## 処理フロー
1. git pullで最新のスキーマファイルを取得
2. prisma migrate diff でスキーマ差分を検出
3. 差分がある場合 → マイグレーションファイルを自動生成
4. ドライランで安全性を検証
5. 結果をSlack通知(差分あり/なし)

レビュー&承認フローの構築

自動生成されたマイグレーションをそのまま適用するのはリスクがあります。OpenClawでは承認フローを組み込めます。

  1. マイグレーションファイルを生成し、PRを自動作成
  2. Slack/Discordに通知を送信(SQL内容のプレビュー付き)
  3. 承認コマンドを受けたら本番適用
  4. ロールバック手順も自動生成

OpenClawによるDB管理自動化フロー図

バックアップ・リストアの自動化

cronジョブでの定期バックアップ設定

OpenClawのcronジョブでバックアップを自動化する設定例:

{
  "cron": [
    {
      "name": "db-daily-backup",
      "schedule": "0 3 * * *",
      "task": "PostgreSQLのフルバックアップを実行。pg_dumpで圧縮バックアップを取得し、S3にアップロード。7日以前の古いバックアップを削除。結果をSlackに通知。"
    }
  ]
}

S3 / GCSへの自動アップロード

バックアップファイルをクラウドストレージに自動アップロードするスクリプト例:

#!/bin/bash
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="/tmp/backup_${TIMESTAMP}.sql.gz"

# バックアップ取得
pg_dump $DATABASE_URL | gzip > "$BACKUP_FILE"

# S3にアップロード
aws s3 cp "$BACKUP_FILE" "s3://my-backups/db/${TIMESTAMP}.sql.gz"

# 7日以前のバックアップを削除
aws s3 ls s3://my-backups/db/ | awk '{print $4}' | \
  while read file; do
    file_date=$(echo "$file" | grep -oP '\d{8}')
    if [[ "$file_date" < "$(date -d '7 days ago' +%Y%m%d)" ]]; then
      aws s3 rm "s3://my-backups/db/$file"
    fi
  done

ワンコマンドリストア手順

障害時のリストアも自動化しておきましょう。

# 最新バックアップからリストア
openclaw invoke db-restore --latest

# 特定日時のバックアップからリストア
openclaw invoke db-restore --timestamp 20260315_030000

cronジョブの設定方法は「OpenClaw cronジョブ設定ガイド」を参照してください。

パフォーマンス監視とアラート

スロークエリの自動検出と通知

-- PostgreSQL: 実行時間1秒以上のクエリを検出
SELECT query, calls, mean_exec_time, total_exec_time
FROM pg_stat_statements
WHERE mean_exec_time > 1000
ORDER BY total_exec_time DESC
LIMIT 10;

OpenClawスキルに組み込めば、スロークエリを定期的に検出してSlackに通知し、改善提案まで自動生成できます。

インデックス最適化の提案

OpenClawに以下のような分析を依頼できます:

  • 未使用インデックスの検出と削除提案
  • 欠落インデックスの推奨(クエリパターンの分析に基づく)
  • インデックスの断片化率チェックとREINDEX推奨

ディスク使用量モニタリング

# テーブルサイズのトップ10
SELECT
  schemaname || '.' || tablename AS table_name,
  pg_size_pretty(pg_total_relation_size(schemaname || '.' || tablename)) AS total_size
FROM pg_tables
ORDER BY pg_total_relation_size(schemaname || '.' || tablename) DESC
LIMIT 10;

アラートルール例:ディスク使用量が80%を超えたらSlack通知、90%超えたら緊急通知。

監視・アラートの詳細は「OpenClaw監視・アラートガイド」をご覧ください。

実践:OpenClawスキルの作成例

db-backup スキルの実装

# db-backup スキル

## 概要
PostgreSQLデータベースの自動バックアップを実行するスキル

## パラメータ
- database_url: 接続文字列(環境変数から取得)
- storage: s3 | gcs(デフォルト: s3)
- retention_days: 保持日数(デフォルト: 7)

## 処理フロー
1. pg_dumpでバックアップ取得(gzip圧縮)
2. チェックサムの計算と記録
3. クラウドストレージにアップロード
4. 古いバックアップの削除
5. 結果をSlack通知

db-health-check スキルの実装

# db-health-check スキル

## 概要
データベースの健全性を定期チェックするスキル

## チェック項目
1. 接続数(現在/最大の比率)
2. レプリケーション遅延
3. ディスク使用量
4. スロークエリ数
5. デッドロック発生数
6. キャッシュヒット率

## アラートレベル
- INFO: 定期レポート(1日1回)
- WARNING: 閾値超過(即時通知)
- CRITICAL: 障害リスク(緊急通知 + 自動対処)

スキル開発の基本は「OpenClawスキル開発ガイド」を、OpenClawの基本セットアップは「OpenClaw AIアシスタントガイド」を参考にしてください。

まとめ:DB管理をAIに任せて開発に集中する

OpenClawでDB管理を自動化するメリットをまとめます。

  • 定型作業の排除:バックアップ・マイグレーション・監視をすべて自動化
  • 障害の未然防止:スロークエリ・ディスク逼迫を早期検知してアラート
  • ヒューマンエラー防止:手動作業をなくし、手順の標準化を実現
  • ナレッジの蓄積:過去の対応がスキルとして残り、チームに展開可能

DB管理の自動化スキルは、SES案件でもインフラ・SRE領域の案件で高単価が期待できます。OpenClawを活用して、効率的にDevOpsスキルを磨きましょう。

SES BASEでインフラ・SRE案件を探す

DB管理・自動化の経験を活かせるSES案件をSES BASEで検索してみてください。

SES案件をお探しですか?

SES記事をもっと読む →
🏗️

SES BASE 編集長

SES業界歴10年以上のメンバーが在籍する編集チーム。SES企業での営業・エンジニア経験、フリーランス独立経験を持つメンバーが、業界のリアルな情報をお届けします。

📊 業界データに基づく記事制作 🔍 IPA・経済産業省データ参照 💼 SES実務経験者が執筆・監修