Rails 4: список доступных типов данных
Где я могу найти список типов данных, которые можно использовать в Ruby on Rails 4?
Например,
-
text
-
string
-
integer
-
float
-
date
Я продолжаю изучать новые, и мне бы хотелось иметь список, на который я мог бы легко сослаться.
Ответы
Ответ 1
Вот все типы данных Rails 4 (ActiveRecord migration):
-
: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-сент.-19:
Там намного больше postgres специфические типы данных в Rails 4 и еще больше в Rails 5.
Ответ 2
Вам также может быть полезно узнать, как эти типы данных используются для:
Там также ссылки, используемые для создания ассоциаций. Но Я не уверен, что это фактический тип данных.
Новые типы данных Rails 4, доступные в PostgreSQL:
-
:hstore
- сохранение пар ключ/значение в пределах одного значения (узнать больше об этом новом типе данных)
-
:array
- расположение чисел или строк в определенной строке (узнать больше об этом и увидеть примеры)
-
:cidr_address
- используется для адресов хоста IPv4 или IPv6
-
:inet_address
- используется для адресов хоста IPv4 или IPv6, так же как cidr_address, но также принимает значения с ненулевыми битами справа от сетевой маски
-
:mac_address
- используется для адресов MAC-адреса
Подробнее о типах адресов здесь и здесь,
Кроме того, здесь официальное руководство по миграции: http://edgeguides.rubyonrails.org/migrations.html
Ответ 3
Важно также знать не только типы, но и сопоставление этих типов с типами баз данных:
![enter image description here]()
![enter image description here]()
Источник добавил - Agile Web Development с Rails 4
Ответ 4
Вы можете получить доступ к этому списку каждый раз, когда хотите (даже если у вас нет доступа к Интернету) через:
rails generate model -h
Ответ 5
Rails4 имеет некоторые дополнительные типы данных для Postgres.
Например, railscast # 400 называет два из них:
Rails 4 поддерживает собственные типы данных в Postgres и хорошо показывает два из них здесь, хотя поддерживается гораздо больше: array и hstore. Мы можем хранить массивы в столбце типа string и указывать тип для hstore.
Кроме того, вы также можете использовать cidr, inet и macaddr. Для получения дополнительной информации:
https://blog.engineyard.com/2013/new-in-rails-4