Rails 3 типа данных?

158

Где я могу найти список типов данных, которые можно использовать в рельсах 3? (например, текст, строка, целое число, число с плавающей точкой, дата и т. д.?) Я постоянно узнаю о новых, но я бы хотел иметь список, к которому можно было бы легко сослаться.

Эллиот
источник

Ответы:

270

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

: двоичное
: логическое
: дата: дата и время
:
десятичное
:
число с плавающей точкой : целое число
: первичный_ключ
: ссылки
: строка
: текст
: время
: метка времени

Источник

Николас Рауль
источник
4
и: ссылки на полиморфные ассоциации. См .: api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/…
Этан
руководство изменилось. Возможно, ссылка на соответствующую документацию должна заменить ее.
Гарри Морено
1
@HarryMoreno: Спасибо за совет! Я обновил ссылку, пожалуйста, дайте мне знать, если вы найдете что-нибудь получше.
Николас Рауль
Список литературы не ограничивается полиморфными ассоциациями. И я бы не посчитал это типом данных.
Паскаль
67

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

введите описание изображения здесь

введите описание изображения здесь

Например, обратите внимание, что в MS SQL Server мы используем:

  1. старый "datetime" вместо "datetime2"
  2. десятичная с точностью по умолчанию
  3. текст и варчар вместо нварчар
  4. int (невозможно использовать tiny int / small int / big int)
  5. изображение вместо BLOB
gotqn
источник
2
Как найти из этого блога . Tinyint / smallint / bigint может быть установлен с помощью опции: limit с: integer. Я проверил его на Rails 3 и MySQL, они все еще работают, как сказано в блоге, они имеют целое число со знаком.
RacsO
16

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

  • двоичный файл - для хранения данных, таких как изображения, аудио или фильмы.
  • логическое значение - для хранения значений true или false.
  • дата - хранить только дату
  • datetime - сохранить дату и время в столбце.
  • десятичный - для десятичных.
  • float - для десятичных дробей. ( Какая разница между десятичной и плавающей? )
  • целое число - для целых чисел.
  • primary_key - уникальный ключ, который может однозначно идентифицировать каждую строку в таблице
  • строка - для небольших типов данных, таких как заголовок. ( Вы должны выбрать строку или текст? )
  • Текст - это для более длинных фрагментов текстовых данных, таких как абзац информации.
  • время - только на время
  • отметка времени - для сохранения даты и времени в столбце.

Я надеюсь, что это помогает кому-то! Также вот официальный список: http://guides.rubyonrails.org/migrations.html#supported-types

lflores
источник