Ruby on Rails + Oracle 2序列ORA-00001:唯一约束

时间:2018-12-19 15:10:56

标签: ruby-on-rails ruby oracle activerecord plsql

同事!

我有一个具有两个序列的模型(由于某些原因...)。其中之一是主键。 表Eclass:Id(int序列(序列表e_class_seq),UNIQUE键,而不是PK);序列(int序列(序列表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手动生成ID。同样的错误( 同样在测试数据库上也不会出现此错误,可能是因为序列较小。

我该怎么办?谢谢!

0 个答案:

没有答案