Должен ли я использовать целое число или строку Rails для этого числа? - PullRequest
2 голосов
/ 31 августа 2010

В моем приложении на Rails 3 я создаю модель Book, которая содержит столбец ISBN. Это значение ISBN будет иметь длину 13 символов. Какой тип я должен использовать для создания столбца ISBN? Должен ли я использовать :integer или :string? Каков максимальный размер целого числа в Rails?

rails g scaffold Book title:string isbn:integer

Ответы [ 4 ]

4 голосов
/ 31 августа 2010

Максимальный размер целого числа зависит от используемой базы данных. Для MySQL это 2147483648 (2 ^ 31, поскольку это целое число без знака.) Я бы порекомендовал хранить ISBN в виде строки (вероятно, CHAR (13), если это возможно).

1 голос
/ 31 августа 2010

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

0 голосов
/ 02 сентября 2012

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

0 голосов
/ 31 августа 2010

ISBN такие вещи, как это ISBN 978-7-111-27687-6, так что, очевидно, строка является хорошим выбором

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...