Я создал пользовательскую последовательность со следующей миграцией:
class AddRaffleserialToEntries < ActiveRecord::Migration[5.2]
def up
add_column :entries, :raffleserial, :serial
end
def down
remove_column :entries, :raffleserial, :serial
end
end
И это успешно создало последовательность в базе данных:
Esquema | Nome | Tipo | Dono
---------+-----------------------------------------------+-----------+---------
public | entries_id_seq | sequência | postgres
public | entries_raffleserial_seq | sequência | postgres
И соответствующая таблица тоже выглядит правильно:
Coluna | Tipo | Collation | Nullable | Default
--------------+-----------------------------+-----------+----------+-----------------------------------------------
id | integer | | not null | nextval('entries_id_seq'::regclass)
raffleserial | integer | | not null | nextval('entries_raffleserial_seq'::regclass)
Тем не менее, когда я создаю новую 'Entry', лотерея не заполняется. Вот соответствующая часть schema.rb:
create_table "entries", id: :serial, force: :cascade do |t|
t.integer "entrant_id", null: false
t.serial "raffleserial", null: false
end
Чего еще не хватает?