在哪里可以找到可以在Ruby on Rails 4中使用的数据类型的列表?如
textstringintegerfloatdate
我一直在学习新的东西,我很想有一个我可以轻松参考的清单。
在哪里可以找到可以在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。欲获得更多信息: