WP-CLIアドベントカレンダー2014の21日目です。
今日はgit commit するとMySQLのダンプを出力してそれも一緒にgit commitしてくれちゃうコマンドのwp-cli-git-commandの紹介です。
これも前回同様にWP-CLIにもとから備わっているコマンドではなく、コミュニティパッケージという形の追加のコマンドです。
追加方法は前回のか公式サイトの英語の説明を参考にしてください。
追加したら、WordPressのルートディレクトリにcdして
$ wp git init
とします。するってえと、
Success: Created new Git Repository. Success: Pre-commit 'pre-commit-mysql-dump' created. Success: Pre-commit linked in 'pre-commit'.
のようになります。すでにディレクトリがGitで管理されていれば、最初の「Success: Created new Git Repository.」は表示されず、既存のGitリポジトリにこのプリコミットコマンドが追加されます。
んでは、なにかファイルを 一つ 変更していつものようにコミットしてみます。
$ git commit -am 'test commit' Success: Exported to .db/mysql_dump.sql [master 4cef1cf] test commit 2 files changed, 1 insertion(+), 2 deletions(-)
MySQLのdumpファイルが.db/mysql_dump.sqlに作られましたね。
ところで、ファイルは一つしか変更してないのに、 2 files となっています。どのファイルが変更されたのか見てみます。
git diff HEAD^ --name-only .db/mysql_dump.sql wp-config.php
.db/mysql_dump.sqlもコミットされてます! ということでMySQLのダンプファイルも自動的にコミットしてくれるんですな!
ではMySQLのデータベースを一つ前の状態に戻してみます。
$ git checkout HEAD^ .db/mysql_dump.sql
と、一つ前をチェックアウトして、WP-CLIコマンドでデータベースのダンプファイルを読み込みます。
$ wp db import .db/mysql_dump.sql Success: Imported from .db/mysql_dump.sql
以上!