ruby ActiveRecord类型的整数(tinyint,smallint,mediumint,int,bigint)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby ActiveRecord类型的整数(tinyint,smallint,mediumint,int,bigint)相关的知识,希望对你有一定的参考价值。
# activerecord-3.0.0/lib/active_record/connection_adapters/mysql_adapter.rb
# Maps logical Rails types to MySQL-specific data types.
def type_to_sql(type, limit = nil, precision = nil, scale = nil)
return super unless type.to_s == 'integer'
case limit
when 1; 'tinyint'
when 2; 'smallint'
when 3; 'mediumint'
when nil, 4, 11; 'int(11)' # compatibility with MySQL default
when 5..8; 'bigint'
else raise(ActiveRecordError, "No integer type has byte size #{limit}")
end
end
# ActiveRecord Migrate
create_table 'example' do |t|
t.integer :int # int (4 bytes, max 2,147,483,647)
t.integer :int1, :limit => 1 # tinyint (1 byte, -128 to 127)
t.integer :int2, :limit => 2 # smallint (2 bytes, max 32,767)
t.integer :int3, :limit => 3 # mediumint (3 bytes, max 8,388,607)
t.integer :int4, :limit => 4 # int (4 bytes)
t.integer :int5, :limit => 5 # bigint (8 bytes, max 9,223,372,036,854,775,807)
t.integer :int8, :limit => 8 # bigint (8 bytes)
t.integer :int11, :limit => 11 # int (4 bytes)
end
以上是关于ruby ActiveRecord类型的整数(tinyint,smallint,mediumint,int,bigint)的主要内容,如果未能解决你的问题,请参考以下文章
Ruby On Rails 5,activerecord query其中模型关联id包括数组中的所有id
ruby 令人敬畏的ActiveRecord错误报告脚本。如何在Ruby脚本中使用ActiveRecord和SQLite。
导致 ActiveRecord 记录器 IOError 的 Ruby 守护进程
ruby 没有Rails的Activerecord
ruby 没有Rails的Activerecord
ruby 使用csv的ActiveRecord错误