在哪里可以找到可以在Ruby on Rails 4中使用的数据类型的列表?如
text
string
integer
float
date
我一直在学习新的东西,我很想有一个我可以轻松参考的清单。
在哪里可以找到可以在Ruby on Rails 4中使用的数据类型的列表?如
text
string
integer
float
date
我一直在学习新的东西,我很想有一个我可以轻松参考的清单。
Answers:
这是所有的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
如果您使用非PostgreSQL数据库运行应用程序,则将它们存储为字符串。
编辑,2016年9月19日:
text
数据类型。但是,滑轨仍然可以处理吗?后台发生了什么?
nil
在非postgres数据库中具有类型。您可以使用来检查控制台中的类型Model.columns_hash["column_name"].type
。这些只是我在使用:json列类型时遇到的事情,我可能是错的,并且可能不会在每个人身上都发生,但是我想我会在将来遇到麻烦的时候让未来的读者知道。无论如何,为此答案+1,因为它确实帮助了我。
您可能还会发现了解这些数据类型的用途是很有用的:
:string
-适用于小数据类型,例如标题。(您应该选择字符串还是文本?):text
-用于较长的文本数据,例如一段信息:binary
-用于存储图像,音频或电影等数据。:boolean
-用于存储正确或错误的值。:date
-仅存储日期:datetime
-将日期和时间存储到一栏中。 :time
-仅用于时间:timestamp
-用于将日期和时间存储到列中。(datetime和timestamp有什么区别?):decimal
-用于小数(如何使用小数示例)。:float
-用于小数。(十进制和浮点数有什么区别?):integer
-是整数。:primary_key
-可以唯一标识表中每一行的唯一键也有用于创建关联的参考。但是,我不确定这是实际的数据类型。
PostgreSQL中提供了新的Rails 4数据类型:
:hstore
-在单个值中存储键/值对(了解有关此新数据类型的更多信息):array
-特定行中数字或字符串的排列(了解更多信息并查看示例):cidr_address
-用于IPv4或IPv6主机地址:inet_address
-用于IPv4或IPv6主机地址,与cidr_address相同,但它也接受网络掩码右侧具有非零位的值:mac_address
-用于MAC主机地址另外,这是有关迁移的官方指南:http : //edgeguides.rubyonrails.org/migrations.html
uuid
类型可以用作普通字段,例如,也可以用t.uuid :name...
作主键create_table :users, id: :uuid do...
,例如t.primary_key :id, :uuid, :default => 'uuid_generate_v1()'
ActiveRecord::ConnectionAdapters::PostgreSQL::ColumnMethods
列出了Rails支持的其他PostgreSQL类型。亮点包括money
,json
,xml
,daterange
NATIVE_DATABASE_TYPES
该适配器你需要- github.com/rails/rails/blob/master/activerecord/lib/...
Rails4为Postgres添加了一些数据类型。
例如,railscast#400命名其中两个:
Rails 4在Postgres中支持本机数据类型,这里将显示其中两个,尽管还支持更多类型:array和hstore。我们可以将数组存储在字符串类型的列中,并指定hstore的类型。
此外,您还可以使用cidr,inet和macaddr。欲获得更多信息: