aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapter_test.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2018-11-06 18:08:02 +0900
committerRyuta Kamizono <kamipo@gmail.com>2018-12-19 08:53:16 +0900
commita1652c196e57f583cd5c95f7f48eeb6d8c8b285d (patch)
tree4b80d04bb0aea1c7e1b6140c1238982e3206c82c /activerecord/test/cases/adapter_test.rb
parent0fa5b5510c6faefc33ab3715e08b2604195a1063 (diff)
downloadrails-a1652c196e57f583cd5c95f7f48eeb6d8c8b285d.tar.gz
rails-a1652c196e57f583cd5c95f7f48eeb6d8c8b285d.tar.bz2
rails-a1652c196e57f583cd5c95f7f48eeb6d8c8b285d.zip
MySQL: `ROW_FORMAT=DYNAMIC` create table option by default
Since MySQL 5.7.9, the `innodb_default_row_format` option defines the default row format for InnoDB tables. The default setting is `DYNAMIC`. The row format is required for indexing on `varchar(255)` with `utf8mb4` columns. As long as using MySQL 5.6, CI won't be passed even if MySQL server setting is properly configured the same as MySQL 5.7 (`innodb_file_per_table = 1`, `innodb_file_format = 'Barracuda'`, and `innodb_large_prefix = 1`) since InnoDB table is created as the row format `COMPACT` by default on MySQL 5.6, therefore indexing on string with `utf8mb4` columns aren't succeeded. Making `ROW_FORMAT=DYNAMIC` create table option by default for legacy MySQL version would mitigate the indexing issue on the user side, and it makes CI would be passed on MySQL 5.6 which is configured properly.
Diffstat (limited to 'activerecord/test/cases/adapter_test.rb')
0 files changed, 0 insertions, 0 deletions