aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters/mysql2/schema_migrations_test.rb
diff options
context:
space:
mode:
authorXavier Noria <fxn@hashref.com>2013-03-17 20:29:58 +0100
committerXavier Noria <fxn@hashref.com>2013-03-17 20:29:58 +0100
commit8744632fb5649cf26cdcd1518a3554ece95a401b (patch)
treea258632b7fa143ca105c08f2d5d71c04fb0f460d /activerecord/test/cases/adapters/mysql2/schema_migrations_test.rb
parentb365354e593da172c55770aed22c8211dbc18b08 (diff)
downloadrails-8744632fb5649cf26cdcd1518a3554ece95a401b.tar.gz
rails-8744632fb5649cf26cdcd1518a3554ece95a401b.tar.bz2
rails-8744632fb5649cf26cdcd1518a3554ece95a401b.zip
sets limit 191 for schema_migrations#version in mysql2 if the encoding is "utf8mb4"
Please, see rationale in the included CHANGELOG patch.
Diffstat (limited to 'activerecord/test/cases/adapters/mysql2/schema_migrations_test.rb')
-rw-r--r--activerecord/test/cases/adapters/mysql2/schema_migrations_test.rb26
1 files changed, 26 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/mysql2/schema_migrations_test.rb b/activerecord/test/cases/adapters/mysql2/schema_migrations_test.rb
new file mode 100644
index 0000000000..9ecd901eac
--- /dev/null
+++ b/activerecord/test/cases/adapters/mysql2/schema_migrations_test.rb
@@ -0,0 +1,26 @@
+require "cases/helper"
+
+module ActiveRecord
+ module ConnectionAdapters
+ class Mysql2Adapter
+ class SchemaMigrationsTest < ActiveRecord::TestCase
+ def test_initializes_schema_migrations_for_encoding_utf8mb4
+ conn = ActiveRecord::Base.connection
+
+ smtn = ActiveRecord::Migrator.schema_migrations_table_name
+ conn.drop_table(smtn) if conn.table_exists?(smtn)
+
+ config = conn.instance_variable_get(:@config)
+ original_encoding = config[:encoding]
+
+ config[:encoding] = 'utf8mb4'
+ conn.initialize_schema_migrations_table
+
+ assert conn.column_exists?(smtn, :version, :string, limit: Mysql2Adapter::MAX_INDEX_LENGTH_FOR_UTF8MB4)
+ ensure
+ config[:encoding] = original_encoding
+ end
+ end
+ end
+ end
+end