Rails 4:可用的数据types列表

我在哪里可以find可以在Ruby on Rails 4中使用的数据types列表? 如

  • text
  • string
  • integer
  • float
  • date

我不断学习新的,我很想有一个清单,我可以很容易地提到。

这里是所有的Rails 4(ActiveRecord迁移)数据types:

  • :binary
  • :boolean
  • :date
  • :datetime
  • :decimal
  • :float
  • :integer
  • :bigint
  • :primary_key
  • :references
  • :string
  • :text
  • :time
  • :timestamp

来源: http : //api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column
这些与Rails 3相同。

如果你使用PostgreSQL,你也可以利用这些:

  • :hstore
  • :json
  • :jsonb
  • :array
  • :cidr_address
  • :ip_address
  • :mac_address

如果您使用非PostgreSQL数据库运行应用程序,则它们将以stringforms存储。

编辑,2016年9月19日:

在Rails 4中有更多的 postgres特定的数据types, 甚至更多的Rails 5中。

您也许会发现通常知道这些数据types用于什么是有用的:

  • :string – 适用于小数据types,如标题。 ( 你应该selectstring还是文字? )
  • :text – 用于较长的文本数据,如一段信息
  • :binary – 用于存储图像,audio或电影等数据。
  • :boolean – 用于存储true或false值。
  • :date – 只存储date
  • :datetime – 将date和时间存储到列中。
  • :time – 只是为了时间
  • :timestamp – 将date和时间存储到列中( datetime和timestamp有什么区别? )
  • :decimal – 是小数( 如何使用小数的例子 )。
  • :float – 用于小数。 ( 小数和浮点数有什么区别? )
  • :integer – 是:integer
  • :primary_key – 唯一标识表中每一行的唯一键

还有用于创build关联的参考。 但是, 我不确定这是一个实际的数据types 。

PostgreSQL中新增的Rails 4数据types:

  • :hstore – 将键/值对存储在单个值中( 详细了解这种新的数据types )
  • :array – 在特定行中的数字或string排列( 了解更多信息并查看示例 )
  • :cidr_address – 用于IPv4或IPv6主机地址
  • :inet_address – 用于IPv4或IPv6主机地址,与cidr_address相同,但也接受networking掩码右侧的非零位值
  • :mac_address – 用于MAC主机地址

在这里和这里详细了解地址数据types。

另外,这里是关于迁移的官方指南: http : //edgeguides.rubyonrails.org/migrations.html

不仅要知道types,还要知道这些types与数据库types的映射。

在这里输入图像描述

在这里输入图像描述


增加了源代码 – 使用Rails进行敏捷Web开发4

您可以通过以下方式每次访问此列表(即使您无法访问Internet):

 rails generate model -h 

Rails4为Postgres增加了一些数据types。

例如,railscast#400命名其中两个:

Rails 4支持Postgres中的本地数据types,我们将在这里展示其中的两个,尽pipe支持更多:array和hstore。 我们可以将数组存储在stringtypes的列中,并指定hstore的types。

另外,你也可以使用cidr,inet和macaddr。 了解更多信息:

https://blog.engineyard.com/2013/new-in-rails-4