2016-09-02 3 views
0

Я был digging around, чтобы увидеть, как я мог бы иметь все мои новые и последующие идентификаторы модели, чтобы иметь ограничение в 8 байт. Ответы показывают, как добавить новый столбец таблицы; Я хочу, чтобы всякий раз, когда я создавал новый Model, он автоматически имел бы limit из 8 байтов. Возможное?Увеличьте диапазон идентификаторов ActiveModel до 8 байт

При создании новой модели, я получаю:

ActiveModel::RangeError: 36565651767 is out of range for ActiveModel::Type::Integer with limit 4

Где изменить этот предел от 4 до 8?

ответ

0

possible duplicate, но так как там будут ошибки:

you can't redefine the primary key column 'id'. To define a custom primary key, pass { id: false } to create_table.

Что означает, что ваш стол должен выглядеть следующим образом:

class MyModels < ActiveRecord::Migration[5.0] 
    def change 
    create_table :my_models, {id: false } do |t| 
     t.column :id, limit: 8 
     ... 
    end 
    end 
end 
Смежные вопросы