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