Ruby on rails学习:Rails 的 active_record 数据表的常见类型
数据库的常见类型 Rails 4/5/6/7: List of available datatypes
Supported Types
Active Record supports the following database column types:
: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
特殊的类型:references
I'm taking a guess that you're referring to t.references :associated_model
in a migration?
Suppose two models, Post and Author.
class Post < ActiveRecord::Base
belongs_to :author
end
class Author < ActiveRecord::Base
has_many :posts
end
Your migration contains:
create_table :posts do |t|
t.references :author
end