提交 692b64e3 编写于 作者: R Rafael Mendonça França

Merge pull request #6878 from masarakki/master

fix bug in limit of enum columns of mysql

Closes #6432
......@@ -72,6 +72,8 @@ def extract_limit(sql_type)
when /^mediumint/i; 3
when /^smallint/i; 2
when /^tinyint/i; 1
when /^enum\((.+)\)/i
$1.split(',').map{|enum| enum.strip.length - 2}.max
else
super
end
......
require "cases/helper"
class MysqlEnumTest < ActiveRecord::TestCase
class EnumTest < ActiveRecord::Base
end
def test_enum_limit
assert_equal 5, EnumTest.columns.first.limit
end
end
require "cases/helper"
class Mysql2EnumTest < ActiveRecord::TestCase
class EnumTest < ActiveRecord::Base
end
def test_enum_limit
assert_equal 5, EnumTest.columns.first.limit
end
end
......@@ -32,4 +32,13 @@
) CHARACTER SET utf8 COLLATE utf8_general_ci
SQL
ActiveRecord::Base.connection.execute <<-SQL
DROP TABLE IF EXISTS enum_tests;
SQL
ActiveRecord::Base.connection.execute <<-SQL
CREATE TABLE enum_tests (
enum_column ENUM('true','false')
)
SQL
end
......@@ -41,6 +41,16 @@
string_cs_column VARCHAR(1) COLLATE utf8_bin,
string_ci_column VARCHAR(1) COLLATE utf8_general_ci
) CHARACTER SET utf8 COLLATE utf8_general_ci
SQL
ActiveRecord::Base.connection.execute <<-SQL
DROP TABLE IF EXISTS enum_tests;
SQL
ActiveRecord::Base.connection.execute <<-SQL
CREATE TABLE enum_tests (
enum_column ENUM('true','false')
)
SQL
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册