method
initialize_type_map
v6.0.0 -
Show latest stable
-
0 notes -
Class: AbstractMysqlAdapter
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0
- 7.1.3.2
- What's this?
initialize_type_map(m = type_map)
public
Hide source
# File activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb, line 526 def initialize_type_map(m = type_map) super register_class_with_limit m, %(char), MysqlString m.register_type %(tinytext), Type::Text.new(limit: 2**8 - 1) m.register_type %(tinyblob), Type::Binary.new(limit: 2**8 - 1) m.register_type %(text), Type::Text.new(limit: 2**16 - 1) m.register_type %(blob), Type::Binary.new(limit: 2**16 - 1) m.register_type %(mediumtext), Type::Text.new(limit: 2**24 - 1) m.register_type %(mediumblob), Type::Binary.new(limit: 2**24 - 1) m.register_type %(longtext), Type::Text.new(limit: 2**32 - 1) m.register_type %(longblob), Type::Binary.new(limit: 2**32 - 1) m.register_type %(^float), Type::Float.new(limit: 24) m.register_type %(^double), Type::Float.new(limit: 53) register_integer_type m, %(^bigint), limit: 8 register_integer_type m, %(^int), limit: 4 register_integer_type m, %(^mediumint), limit: 3 register_integer_type m, %(^smallint), limit: 2 register_integer_type m, %(^tinyint), limit: 1 m.register_type %(^tinyint\(1\)), Type::Boolean.new if emulate_booleans m.alias_type %(year), "integer" m.alias_type %(bit), "binary" m.register_type(%(enum)) do |sql_type| limit = sql_type[/^enum\s*\((.+)\)/, 1] .split(",").map { |enum| enum.strip.length - 2 }.max MysqlString.new(limit: limit) end m.register_type(%(^set)) do |sql_type| limit = sql_type[/^set\s*\((.+)\)/, 1] .split(",").map { |set| set.strip.length - 1 }.sum - 1 MysqlString.new(limit: limit) end end