Я пытался изучать новые вещи и использовать драгоценный камень Ahoy для моего частного проекта. Проводя исследования в Интернете, я столкнулся с одним репо с Rails 4.2 и Ahoy 1.6, и одна вещь поразила меня. Потом я начал гуглить, и похоже, что это не единственная проблема репо.
class CreateVisits < ActiveRecord::Migration
def change
create_table :visits, id: false do |t|
t.uuid :id, default: nil, primary_key: true
(...)
Остальной код пропущен для удобства чтения
Я что-то упускаю или это взаимоисключающие строки? (не говоря уже о том, что первичный ключ по умолчанию равен nil?)
Я выполнил почти такую же миграцию локально (без Ahoy gem, с измененным именем таблицы), и я получил красивый db / schema.rb (на первый взгляд - ошибок пока нет), но, конечно, когда я пытаюсь создать новый объект, я ударил ActiveRecord::NotNullViolation: PG::NotNullViolation: ERROR: null value in column "id" violates not-null constraint
ошибка
По-моему, я бы написал что-то подобное, чтобы заставить его работать, или я упускаю что-то действительно важное, что мешает мне сохранить объект в БД?
class CreateVisits < ActiveRecord::Migration
def change
create_table :visits do |t|
t.uuid :id, primary_key: true
(...)