Rails 4:可用数据类型列表

时间:2013-07-29 07:19:46

标签: ruby-on-rails ruby ruby-on-rails-4 rails-activerecord

在哪里可以找到可以在Ruby on Rails 4中使用的数据类型列表? 如

  • text
  • string
  • integer
  • float
  • date

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

5 个答案:

答案 0 :(得分:621)

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

  • :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

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

编辑,2016年9月19日:

Rails 4中有a lot more个postgres特定数据类型,Rails 5中有even more

答案 1 :(得分:232)

您可能还会发现通常了解这些数据类型的用途很有用:

还有用于创建关联的引用。但是,I'm not sure this is an actual data type

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

  • :hstore - 将键/值对存储在单个值(learn more about this new data type
  • :array - 特定行中的数字或字符串排列(learn more about it and see examples
  • :cidr_address - 用于IPv4或IPv6主机地址
  • :inet_address - 用于IPv4或IPv6主机地址,与cidr_address相同,但它也接受网络掩码右侧非零位的值
  • :mac_address - 用于MAC主机地址

详细了解地址数据类型herehere

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

答案 2 :(得分:150)

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

enter image description here

enter image description here


来源添加 - Agile Web Development with Rails 4

答案 3 :(得分:77)

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

rails generate model -h

答案 4 :(得分:5)

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

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

  

Rails 4支持Postgres中的本机数据类型,我们将在这里展示其中的两个,尽管支持更多:array和hstore。我们可以将数组存储在字符串类型列中,并指定hstore的类型。

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

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