Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

ActiveRecordからutf8mb4を扱えない主な理由 ActiveRecordのstring型カラムがvarchar(255)で定義されるので、utf8mb4ではインデックスのキープレフィックスが767byteを超えてしまう。 ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes この問題をMySQLの設定とRailsへのパッチで解決する。 MySQLの設定 文字コードをutf8mb4で運用するために、インデックスのキープレフィックスを拡張する。 innodb_large_prefixをenableにする 1を有効にするために、innodb_file_formatをBarracudaにする 1を有効にするために、innodb_file_per_tableをenableにする innod
MySQL 5.6からTIME, DATETIME, TIMESTAMPがマイクロ秒精度をサポートしました。 MySQL 5.6 Reference Manual :: 11.3.6 Fractional Seconds in Time Values で、ドキュメントにはちゃんとroundされるけどこれはSQL標準に従う挙動だからエラーとかワーニングは出ないよってさらっと書いてあるんですが、5.5では小数点以下は切り捨てだったんでマイクロ秒を付けてクエリ投げてた場合ハマりポイントになってます。 MySQL Bugs: #68760: Datetime rounding problem ActiveRecordにおけるDATETIMEのマイクロ秒サポート ここからはジョーカーさんのRails-4.2+MySQL-5.6での時刻オブジェクトのミリ秒の扱いについてへのアンサーエントリになるんです
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く