gpt4 book ai didi

ruby-on-rails - rails : oracle set_sequence_name being ignored

转载 作者:行者123 更新时间:2023-12-05 00:03:03 24 4
gpt4 key购买 nike

我有一个简单的模型,我必须手动设置数据库名称。

此外,由于它使用的是 oracle 数据库,因此我正在设置序列名称,以便我可以自动递增 id。

当我运行 rails 控制台并尝试创建我的模型时,它返回并说找不到序列。奇怪的是它找不到的序列不是我在 set_sequence_name 中设置的序列。

模型

class Survey < ActiveRecord::Base
set_sequence_name "SURVEY.SQ_SURVEY_ID"
set_table_name "SURVEY.SURVEYS"
end

控制台错误
ActiveRecord::StatementInvalid: ActiveRecord::JDBCError: ORA-02289: 
sequence does not exist: select SURVEY.SURVEYS_seq.nextval id from dual

看起来它忽略了我设置的序列名称行。

我只是错过了什么吗?

最佳答案

FWIW:
使用 11g 我逃脱了:

self.id = ActiveRecord::Base.connection.execute("select SURVEY.SQ_SURVEY_ID.nextval id from dual").fetch

在我的情况下,该序列似乎返回了一个游标,我需要在该游标上进行提取。

11g/rails 3.1

关于ruby-on-rails - rails : oracle set_sequence_name being ignored,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7210638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com