关于ruby:Rails 4:可用数据类型列表

Rails 4: List of available datatypes

在哪里可以找到RubyonRails4中可以使用的数据类型列表?如

  • text
  • string
  • integer
  • float
  • date

我一直在学习新的,我想有一个清单,我可以很容易地参考。


以下是所有Rails 4(ActiveRecord Migration)数据类型:

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

来源:http://api.rubyonrails.org/classes/activerecord/connectionadapters/schemaStatements.html method-i-add_column这些与轨道3相同。

如果您使用PostgreSQL,还可以利用这些优势:

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

如果使用非PostgreSQL数据库运行应用程序,它们将存储为字符串。

编辑,2016年9月19日:

在Rails4中有更多特定于Postgres的数据类型,在Rails5中甚至更多。


您还可能发现,了解这些数据类型的一般用途是很有用的:

  • :string—用于小数据类型,如标题。(您应该选择字符串还是文本?)
  • :text—用于较长的文本数据,如一段信息。
  • :binary—用于存储图像、音频或电影等数据。
  • :boolean—用于存储真值或假值。
  • :date只存储日期
  • :datetime—将日期和时间存储到一列中。
  • :time—仅用于时间
  • :timestamp—用于将日期和时间存储到列中。(日期时间和时间戳有什么区别?)
  • :decimal表示小数(例如如何使用小数)。
  • :float表示小数。(小数和浮点数的区别是什么?)
  • :integer表示整数。
  • :primary_key—可以唯一标识表中每一行的唯一键。

还有用于创建关联的引用。但是,我不确定这是一个实际的数据类型。

PostgreSQL中提供的新Rails 4数据类型:

  • :hstore—在单个值中存储键/值对(了解有关此新数据类型的更多信息)
  • :array—特定行中数字或字符串的排列(了解更多信息并参阅示例)
  • :cidr_address—用于IPv4或IPv6主机地址
  • :inet_address—用于IPv4或IPv6主机地址,与cidr_地址相同,但它也接受网络掩码右侧非零位的值。
  • :mac_address—用于MAC主机地址

在此处和此处了解有关地址数据类型的详细信息。

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


不仅要知道类型,还要知道这些类型到数据库类型的映射,这一点很重要:

enter image description here

enter image description here

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


您可以通过以下方式随时访问此列表(即使您没有Internet访问权限):

1
rails generate model -h

Rails4为Postgres添加了一些数据类型。

例如,RailsCast 400列出了其中两个:

Rails 4 has support for native datatypes in Postgres and we’ll show two of these here, although a lot more are supported: array and hstore. We can store arrays in a string-type column and specify the type for hstore.

此外,您还可以使用cidr、inet和macaddr。更多信息:

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