Collectives™ on Stack Overflow
Find centralized, trusted content and collaborate around the technologies you use most.
Learn more about Collectives
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Learn more about Teams
–
–
: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.
More PostgreSQL data types
Rails 4
Rails 5
Rails 6
Rails 7
–
–
–
–
–
: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
–
–
–
–
–
–
–
You can access this list everytime you want (even if you don't have Internet access) through:
rails generate model -h
Rails4 has some added datatypes for Postgres.
For example, railscast #400 names two of them:
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.
Besides, you can also use cidr, inet and macaddr. For more information:
https://blog.engineyard.com/2013/new-in-rails-4
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.