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. セキュリティと監視: セキュアな接続情報を確保し、変更履歴やパフォーマンスを適切に監視します。
関連記事: