158
votes

Where can I find a list of data types that can be used in rails 3? (such as text, string, integer, float, date, etc.?) I keep randomly learning about new ones, but I'd love to have a list I could easily refer to.

4

4 Answers

270
votes

Here are all the Rails3 (ActiveRecord migration) datatypes:

:binary
:boolean
:date
:datetime
:decimal
:float
:integer
:primary_key
:references
:string
:text
:time
:timestamp

Source

67
votes

It is important to know not only the types but the mapping of these types to the database types, too:

enter image description here

enter image description here

For, example, note that in MS SQL Server we are using:

  1. the old "datetime" instead "datetime2"
  2. decimal with its default precision
  3. text and varchar instead nvarchar
  4. int (not possible to use tiny int/small int/big int)
  5. image instead BLOB
26
votes

Do you mean for defining active record migrations? or do you mean Ruby data types?

Here's a link that may help for creating migrations:

Orthogonal Thought - MySQL and Ruby on Rails datatypes

15
votes

It might be helpful to know generally what these data types are used for:

  • 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.
  • decimal - is for 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
  • 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.
  • time - is for time only
  • timestamp - for storing date and time into a column.

I hope that helps someone! Also, here's the official list: http://guides.rubyonrails.org/migrations.html#supported-types