Re: 本番環境へのデータベース移設でエラー(max key length is 767 bytes)
こんにちは。
取り急ぎ。
もしも、UTF8 の4バイト文字、特に絵文字などを取り扱っていなければ、
ローカルで構築されている concrete5 のデータベースの文字セットを utf8 にして、
SQL を出力し直し、へテムルに移管できませんか?
concrete5 で、文字セットを変更できる機能が管理画面にあります。
[管理画面] - [システム設定] - [サーバー設定一覧] - [データベース文字セット]
[c5 の URL]/index.php/dashboard/system/environment/database_charset
こちらの管理画面より、UTF8 に変更できます。
時間がかかる処理なので、
データベースのサイズによっては、1回のページロードで追わない場合があります。
その際は、ページをリロードすると完了するはずです。
PHP の max_execution_time を伸ばしたりしてもOKです。
また /application/config/database.php に書かれている文字列の設定も変更されるので、引っ越しをする際に database.php をきちんとコピーするようにお願いします。
ただ、 4バイト文字が使われていたら、エラーで止まってしまってサイトが復旧できなくなるので気をつけてください。
例えば、実施前にSQL バックアップをとってから実施していただくといいと思います。
もしも、Terminal などのCLI (コマンドライン) から実施できるのであれば、以下のコマンドで変換できます。
cd [c5 のルートディレクトリ]
concrete/bin/concrete5 c5:database:charset:set utf8
itochanz
Re: 本番環境へのデータベース移設でエラー(max key length is 767 bytes)
ご連絡どうもありがとうございます!
実は解決を一旦あきらめてしまったのですが、
今回教えていただいたことをトライしてみようと思います。