diff options
author | jomo <github@jomo.tv> | 2016-01-29 23:53:13 +0100 |
---|---|---|
committer | jomo <github@jomo.tv> | 2016-01-29 23:53:13 +0100 |
commit | 1a04b3c8822e131536073a48c29b9f4e920733e3 (patch) | |
tree | fe54670e1591882f6538d3a9741d265d1be4152b | |
parent | 7987e37f11dc53fc8a4daef84b15d6f02af552fc (diff) |
try fixing mysql utf8mb4 issues
-rw-r--r-- | config/initializers/mysql_modern_column_type_defaults.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/config/initializers/mysql_modern_column_type_defaults.rb b/config/initializers/mysql_modern_column_type_defaults.rb new file mode 100644 index 0000000..4189537 --- /dev/null +++ b/config/initializers/mysql_modern_column_type_defaults.rb @@ -0,0 +1,17 @@ +require 'active_record/connection_adapters/abstract_mysql_adapter' + +ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter::NATIVE_DATABASE_TYPES.tap do |defaults| + # Decrease default string length from 255 -> 191 chars so *_type columns + # can be indexed with utf8mb4 without blowing 767 byte max key length. + defaults[:string][:limit] = 191 + + # Use microsecond precision for all timestamps. High-precision times are + # first available in MySQL 5.6, but default to second precision for + # backward compatibility. + defaults[:datetime][:limit] = 6 + defaults[:time][:limit] = 6 +end + + +# thanks @jeremy +# https://github.com/rails/rails/pull/23009#issuecomment-171406595
\ No newline at end of file |