2026年6月28日

2026年6月28日

WordPressのLiquibaseでDBバージョン管理する方法

はじめに

Liquibaseはデータベーススキーマの変更履歴を追跡し、バージョン管理を行うオープンソースツールです。WordPress開発においても、このツールを利用することで複数人による同時開発や、長期間にわたるプロジェクトでも一貫性と信頼性のあるデータベース状態の維持が可能になります。

症状・背景

  • テスト環境と本番環境間でのデータベース同期の必要がある
  • 複数人の開発者が同時にデータベースを操作する場合の衝突回避が必要
  • 長期的なプロジェクトにおいて、過去の変更履歴を簡単に遡ることができる状況が求められる
  • データベーススキーマの変更に伴うバージョン管理と保守性を高めたい

手順・設定方法

ステップ1: Liquibaseのインストールと初期化

# WordPressプロジェクトルートに移動します。
cd /var/www/html/wordpress

# Liquibaseをダウンロードし、jarファイルを配置します。
wget https://repo.maven.apache.org/maven2/org/liquibase/liquibase-core/4.13.0/liquibase-core-4.13.0.jar
mv liquibase-core-4.13.0.jar /usr/local/bin/

# データベースの初期状態を記録します。
java -jar /usr/local/bin/liquibase-core-4.13.0.jar --driver=com.mysql.cj.jdbc.Driver \
--classpath=/path/to/mysql-connector-java.jar --url="jdbc:mysql://localhost:3306/wordpress" \
--username=wp_user --password=wp_password update

ステップ2: SQL変更ファイルの作成

# データベーススキーマの追加変更を記録します。
java -jar /usr/local/bin/liquibase-core-4.13.0.jar --driver=com.mysql.cj.jdbc.Driver \
--classpath=/path/to/mysql-connector-java.jar --url="jdbc:mysql://localhost:3306/wordpress" \
--username=wp_user --password=wp_password changelog generate

ステップ3: 変更ファイルをGitで管理

# シンプルな変更ファイルを作成します。
echo "databaseChangeLog:
- changeSet:
    id: add_example_table
    author: example_author
    changes:
      - createTable:
          tableName: example_table
          columns:
            column_1:
              type: VARCHAR(255)
              constraints:
                nullable: false" > changelog.xml

# Gitに変更ファイルを追加します。
git add liquibase/changelog.xml
git commit -m "Add initial schema change"

ステップ4: データベースの更新とバックアップ

# Liquibaseを使用してデータベースを更新します。
java -jar /usr/local/bin/liquibase-core-4.13.0.jar --driver=com.mysql.cj.jdbc.Driver \
--classpath=/path/to/mysql-connector-java.jar --url="jdbc:mysql://localhost:3306/wordpress" \
--username=wp_user --password=wp_password update

# バックアップを作成します。
mysqldump -u wp_user -p wordpress > backup.sql

注意事項

  • Liquibaseの変更ファイルは適切なフォーマットで作成し、Gitなどのバージョン管理システムに格納する
  • 大規模なデータベース変更を行う際には、パッチ適用前に影響範囲を慎重に確認すること
  • 接続情報やパスワードの安全な管理と保管を心掛け、適切なセキュリティ設定を施す

まとめ

1. Liquibaseのインストール: Liquibaseをプロジェクトディレクトリに配置し、データベースの初期状態を記録します。

2. SQL変更ファイルの作成: データベーススキーマの追加や更新を行うためのXML形式の変更ログを作成します。

3. Gitでの管理: 変更ファイルはGitなどでバージョン管理され、チーム間で共有されます。

4. データベースの更新とバックアップ: Liquibaseを使用して定期的にデータベースを更新し、バックアップを取ります。

5. セキュリティと監視: セキュアな接続情報を確保し、変更履歴やパフォーマンスを適切に監視します。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ