Ахой камень создал взаимоисключающую миграцию - PullRequest
0 голосов
/ 23 мая 2019

Я пытался изучать новые вещи и использовать драгоценный камень 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
(...)
...