Определение первичного ключа id BIGINT PRIMARY KEY при создании модели (таблицы БД) ActiveRecord Ruby on Rails
Иногда возникает необходимость использования большего диапазона для значений первичного ключа (идентификатора записи) в модели, когда количество записей будет явно превышать допустимый диапазон, предоставляемый INT в MySQL. Прямого механизма указания типа первичного ключа в ActiveRecord::Migration не существует, но есть метод execute:
class CreateProducts < ActiveRecord::Migration
def change
create_table :products do |t|
...
end
add_index ...
...
# или BIGINT UNSIGNED AUTO_INCREMENT
# для еще большего диапазона
execute "ALTER TABLE products MODIFY id BIGINT AUTO_INCREMENT"
end
end
Иногда возникает необходимость использования большего диапазона для значений первичного ключа (идентификатора записи) в модели, когда количество записей будет явно превышать допустимый диапазон, предоставляемый INT в MySQL. Прямого механизма указания типа первичного ключа в
ActiveRecord::Migration
не существует, но есть методexecute
: