отключить sequence — rails с существующей базой данных

#ruby-on-rails #ruby #activerecord

#ruby-on-rails #ruby #activerecord

Вопрос:

Все,

Вот моя ситуация. Я использую пару таблиц (пользователи, контакты) из существующей базы данных для моего нового приложения. Я не могу изменить эти таблицы. контакты имеют последовательность для первичного ключа и вставляются с помощью триггера в обеих таблицах при создании нового пользователя.

в моем классе модели я установил первичный ключ (используя set_primary_key) таблицы контактов. Когда я пытаюсь создать нового пользователя. Rails ищет последовательность, и я получаю следующую ошибку.

ORA-02289: последовательность не существует

Есть ли способ отключить последовательность?.

Спасибо, Aanu

Ответ №1:

В вашем классе contacts попробуйте добавить:

 class Contacts ...

  alias yourprimarykey id
  alias yourprimarykey= id=

end
  

Ответ №2:

Просто добавьте последовательность и установите ее в классе. Например, добавьте последовательность с именем 'EXAMPLE_SEQ' в свой класс:

 class YourClass < ActiveRecord::Base
  self.table_name = 'yourclass'
  self.primary_key = 'your_primary_key'
  self.sequence_name = 'EXAMPLE_SEQ'
end
  

Комментарии:

1. Вот ссылка на документы , которые вы могли бы добавить.