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

Pocket
LINEで送る

この記事の所要時間: 151

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/

人気の記事

コメント

コメントを残す

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

PAGE TOP

%d人のブロガーが「いいね」をつけました。