禁用序列 - 使用现有数据库的rails

时间:2011-04-19 15:09:03

标签: ruby-on-rails ruby activerecord

所有

这是我的情况。我使用现有数据库中的几个表(用户,联系人)作为我的新应用程序。我不能改变这些表。 contacts有一个主键序列,当我们创建一个新用户时,在两个表上使用触发器插入。

在我的模型类中,我设置了联系人表的主键(使用set_primary_key)。当我尝试创建新用户时。 Rails正在寻找一个序列,我得到以下错误。

ORA-02289:序列不存在

有没有办法禁用序列?。

谢谢, Aanu

2 个答案:

答案 0 :(得分:1)

在您的通讯录类中,尝试添加:

class Contacts ...

  alias yourprimarykey id
  alias yourprimarykey= id=

end

答案 1 :(得分:1)

只需添加一个序列并在课堂上设置它。 例如,将名为'EXAMPLE_SEQ'的序列添加到您的类中:

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