Последовательности Ruby on Rails + Oracle 2 ORA-00001: уникальное ограничение - PullRequest
0 голосов
/ 19 декабря 2018

Коллеги!

У меня есть модель с двумя последовательностями (по некоторым причинам ...).Одним из них является первичный ключ.Таблица Eclass: Id (последовательность int (таблица последовательности e_class_seq), ключ UNIQUE, а не PK);Serial (int sequence (таблица последовательности e_class_sequence), PK);... Класс модели:

class Eclass< ActiveRecord::Base set_table_name 'e_class' set_primary_key 'serial' set_sequence_name 'e_class_sequence'

Итак, пока я пытаюсь вставить новую запись в таблицу Eclass в цикле, например:

some_array.each begin
eclass = Eclass.new()
...
eclass.save!
end

первая записьвсе в порядке, но на второй записи я получаю

OCIError: ORA-00001: уникальное ограничение (LNX.ECLASS_ID_UNIQUE) нарушено

Что не так?Я не генерирую их сам, это вопрос ActiveRecord.Также я попытался сгенерировать идентификаторы вручную с помощью nextval.Та же ошибка (также в тестовых базах данных эта ошибка не появляется, может быть, потому что последовательности там меньше ...

Что я могу сделать? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...