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错误