WP-CLI で WordPress を日本語パッケージと同じ構成にする - Qiita
[mysqld]
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
日付周りで以下のエラーが出るため
SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'updated_at'
192.168.10.19 wp-sync.local
192.168.10.19 stg.wp-sync.local
$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
$ sudo mv wp-cli.phar /usr/bin/wp
$ sudo chmod +x /usr/bin/wp
$ wp --info
$ rm /srv/httpd/htdocs/index.php
$ TARGET=/srv/httpd/htdocs
$ wp core download --locale=ja --version=5.2.4 --path=$TARGET
$ wp config create --dbname=wp --dbuser=vagrant --dbpass=vagrant --dbhost=localhost --dbcharset=utf8mb4 --dbprefix=wp_ --path=$TARGET
$ wp db create --path=$TARGET
$ wp core install --url=wp-sync.local --title=Example --admin_user=admin --admin_password=admin [email protected] --skip-email --path=$TARGET
<VirtualHost *:80>
ServerName stg.wp-sync.local
DocumentRoot "/srv/httpd/htdocs/stg"
ErrorLog logs/stg-vagrant-error_log
CustomLog logs/stg-vagrant-access_log combined
RewriteEngine on
# RewriteLog /tmp/rewrite.log
# RewriteLogLevel 6
<Directory "/srv/httpd/htdocs/stg">
Options FollowSymlinks Includes
AllowOverride All
Require all granted
SetEnv CAKE_ENV "staging"
SetEnv APP_ENV "staging"
</Directory>
</VirtualHost>
$ wp core download --locale=ja --version=5.2.4 --path=/srv/httpd/htdocs/stg
$ wp config create --dbname=wp_stg --dbuser=vagrant --dbpass=vagrant --dbhost=localhost --dbprefix=stg_ --path=/srv/httpd/htdocs/stg
$ wp db create --path=/srv/httpd/htdocs/stg
$ wp core install --path=/srv/httpd/htdocs/stg --url=stg.wp-sync.local --title=Staging --admin_user=admin --admin_password=admin [email protected] --skip-email
ステージングのwpのdbのデータを、本番環境用のドメイン部分を置換してダンプファイルを作成
どのテーブル、カラムをダンプするか精査が必要
$ wp search-replace 'http://stg.wp-sync.local' 'http://wp-sync.local' stg_* \
--path=/srv/httpd/htdocs/stg \
--precise --recurse-objects \
--skip-tables=*comment* \
--export=dump.sql \
--report-changed-only
$ sed -i -e 's/`stg_/`wp_/g' dump.sql
本番環境に反映
$ wp db --path=/srv/httpd/htdocs import dump.sql
$ wp rewrite flush --path=/srv/httpd/htdocs --hard
$ rsync -av /srv/httpd/htdocs/stg/wp-content/ /srv/httpd/htdocs/wp-content/ --dry-run