Rails 4: список доступных типов данных

где я могу найти список типов данных, которые можно использовать в Ruby on Rails 4? Такие как

  • text
  • string
  • integer
  • float
  • date

Я продолжаю узнавать о новых, и я хотел бы иметь список, на который я мог бы легко ссылаться.

5 ответов


вот все рельсы 4 (миграция ActiveRecord) типы данных:

  • :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
Это то же самое, что и с рельсы 3.

если вы используете PostgreSQL, вы также можете воспользоваться эти:

  • :hstore
  • :json
  • :jsonb
  • :array
  • :cidr_address
  • :ip_address
  • :mac_address

они хранятся в виде строк, Если вы запускаете приложение с базой данных not-PostgreSQL.

Edit, 2016-Sep-19:

здесь много postgres конкретные типы данных в Rails 4 и даже больше в рельсах 5.


возможно, Вам также будет полезно узнать, для чего используются эти типы данных:

  • :string - предназначена для небольших типов данных, таких как название. (вы должны выбрать строку или текст?)
  • :text - для более длинных частей текстовых данных, таких как абзац информации
  • :binary - предназначен для хранения данных, таких как изображения, аудио или видеозаписи.
  • :boolean - предназначен для хранения true или false ценности.
  • :date - хранить только дату
  • :datetime - сохраните дату и время в столбце.
  • :time - только для времени
  • :timestamp - для хранения даты и времени в столбец.(в чем разница между datetime и timestamp?)
  • :decimal - это для дроби (пример использования десятичных знаков).
  • :float - это для дроби. (в чем разница между decimal и float?)
  • :integer - для целых чисел.
  • :primary_key - уникальный ключ, который позволяет однозначно идентифицировать каждую строку в таблице

есть также ссылки, используемые для создания ассоциаций. Но,я не уверен, что это реальный тип данных.

новые типы данных Rails 4 доступны в PostgreSQL:

  • :hstore - хранить пары ключ/значение в пределах одного значения (узнать подробнее об этом новом типе данных)
  • :array - расположение чисел или строк в конкретной строке (узнайте больше об этом и смотрите примеры)
  • :cidr_address - используется для адресов хостов IPv4 или IPv6
  • :inet_address - используется для адресов хостов IPv4 или IPv6, таких же, как cidr_address, но он также принимает значения с ненулевыми битами справа от маски сети
  • :mac_address - используется для Mac хост адреса

Узнайте больше о адреса типа здесь и здесь.

кроме того, вот официальное руководство по миграции:http://edgeguides.rubyonrails.org/migrations.html


важно знать не только типы, но и сопоставление этих типов с типами баз данных:

enter image description here

enter image description here


источник добавил, - гибкая Веб-разработка с Rails 4


вы можете получить доступ к этому списку каждый раз, когда вы хотите (даже если у вас нет доступа в Интернет) через:

rails generate model -h

Rails4 имеет некоторые добавленные типы данных для Postgres.

например, railscast #400 называет два из них:

Rails 4 поддерживает собственные типы данных в Postgres, и мы покажем два из них здесь, хотя поддерживается гораздо больше: array и hstore. Мы можем хранить массивы в столбце строкового типа и указывать тип для hstore.

кроме того, вы также можете использовать cidr, inet и macaddr. For more информация:

https://blog.engineyard.com/2013/new-in-rails-4