Рельсы - как хранить большие числа вроде 100000076685963 - PullRequest
3 голосов
/ 07 мая 2011

Мне нужно хранить большие числа, такие как: 100000076685963

Которые слишком велики для целого типа поля в БД. В моей миграции базы данных я использую:

  t.integer :fb_uid

какой тип поля мне следует использовать для больших чисел, подобных этой?

Спасибо

Ответы [ 3 ]

3 голосов
/ 07 мая 2011

Попробуй поплавок

t.float :fb_uid

И, похоже, это как-то связано с Facebook (возможно, facebooker), и, предполагая, что эти числа не будут использоваться в качестве арифметических операций, вы, вероятно, можете использовать только строку

t.string :fb_uid
3 голосов
/ 07 мая 2011

Вы можете использовать тип данных с фиксированной точкой, такой как десятичный, с большой точностью. Исходя из числа, которое вы дали, сработает точность 15, но вы должны точно определить, какой диапазон вы ожидаете.

t.decimal :fb_fluid, :precision => 15
1 голос
/ 29 октября 2013

Вам нужно установить поле limit для столбца, чтобы получить bigint точность Postgresql:

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