Rails 4: List of available datatypes
Where can I find a list of data types that can be used in Ruby on Rails 4? Such as
text
string
integer
float
date
I keep learning about new ones and I'd love to have a list I could easily refer to.
Here are all the Rails 4 (ActiveRecord migration) datatypes:
:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:bigint
:primary_key
:references
:string
:text
:time
:timestamp
Source: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_column
These are the same as with Rails 3.
If you use PostgreSQL, you can also take advantage of these:
:hstore
:json
:jsonb
:array
:cidr_address
:ip_address
:mac_address
They are stored as strings if you run your app with a not-PostgreSQL database.
Edit, 2016-Sep-19:
There's a lot more postgres specific datatypes in Rails 4 and even more in Rails 5.
You might also find it useful to know generally what these data types are used for:
:string
- is for small data types such as a title. (Should you choose string or text?) :text
- is for longer pieces of textual data, such as a paragraph of information :binary
- is for storing data such as images, audio, or movies. :boolean
- is for storing true or false values. :date
- store only the date :datetime
- store the date and time into a column. :time
- is for time only :timestamp
- for storing date and time into a column.(What's the difference between datetime and timestamp?) :decimal
- is for decimals (example of how to use decimals). :float
- is for decimals. (What's the difference between decimal and float?) :integer
- is for whole numbers. :primary_key
- unique key that can uniquely identify each row in a table There's also references used to create associations. But, I'm not sure this is an actual data type.
New Rails 4 datatypes available in PostgreSQL:
:hstore
- storing key/value pairs within a single value (learn more about this new data type) :array
- an arrangement of numbers or strings in a particular row (learn more about it and see examples) :cidr_address
- used for IPv4 or IPv6 host addresses :inet_address
- used for IPv4 or IPv6 host addresses, same as cidr_address but it also accepts values with nonzero bits to the right of the netmask :mac_address
- used for MAC host addresses Learn more about the address datatypes here and here.
Also, here's the official guide on migrations: http://edgeguides.rubyonrails.org/migrations.html
It is important to know not only the types but the mapping of these types to the database types, too:
Source added - Agile Web Development with Rails 4
链接地址: http://www.djcxy.com/p/25114.html上一篇: 将NOW()设置为datetime数据类型的默认值?
下一篇: Rails 4:可用数据类型的列表