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
不仅要知道类型,还要知道这些类型到数据库类型的映射,这一点很重要:
添加了源代码-使用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