WordPress4.2以降でwordmoveを使ってMysql5.5からMysql5.3に移行するとき Unknown character set: ‘utf8mb4’ エラー

Pocket

WordPress4.2以降は絵文字がサポートされた影響で、データベースへの保存形式がutf8(3byte)からutf8mb4(4byte)へと変更になりました。 ですので、MySQL5.5から5.3環境に移行する場合にエラーがでます。エクスポートしたdumpファイルに直接“`utf8mb4“`ってかかれちゃってる影響です。 なので

wordmove push

で失敗したら

wp-content/dump.sql

を置換して手動でインポートすれば普通にインポートはできるのですが、、、 でもそんなこといちいちやってられません。wordmoveの最新版では対応されてるかなと思ったらそうでもなかったのでwordmoveをちょっと変えて対応しました。

sql_adapter.rb

def adapt!
  replace_vhost!
  replace_wordpress_path!
+  replace_charset!
  write_sql!
end

+ def replace_charset!
+  source_charset = source_config[:database][:charset]
+  dest_charset = dest_config[:database][:charset]
+  replace_field!(source_charset, dest_charset)
+ end
Movefile 
--------
local: 
  database: 
    charset: "utf8mb4" 

staging: 
  database: 
    charset: "utf8" 

ただ置換しただけです。 まず、開発環境と本番環境は一緒にしときなよってのもあるかと思いますけどvccw楽なのでいつも使ってしまいます。許してください。

参考

MySQLのutf8mb4をutf8に変換する | ウェブゴト http://webgoto.net/342/

投稿者紹介

株式会社ユニキャスト
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください