Ruby on rails Rails:如何解决错误:ORA-02289:序列不存在错误?

Ruby on rails Rails:如何解决错误:ORA-02289:序列不存在错误?,ruby-on-rails,ruby,oracle,Ruby On Rails,Ruby,Oracle,我有一个名为“Carrier”的模型。在我的控制器中,当我执行Carrier.create(data)时,我得到以下错误: OCIError: ORA-02289: sequence does not exist: select carriers_seq.nextval id from dual 这是我在控制器中的代码: class CarriersController < ActionController::Base def index #stuff e

我有一个名为“Carrier”的模型。在我的控制器中,当我执行
Carrier.create(data)
时,我得到以下错误:

OCIError: ORA-02289: sequence does not exist: select carriers_seq.nextval id from dual
这是我在控制器中的代码:

class CarriersController < ActionController::Base
    def index
        #stuff
    end

    def update
        @params["carriers"].each do |id, data|
            #data["id"]
            if Carrier.exists?(data["id"])
                carrier = Carrier.find(data["id"])
                carrier.update_attributes(data)
            else
                Carrier.create(data)
            end
        end
        redirect_to( :action => "index" )
    end
end
class CarrierController“index”)
结束
结束
我在谷歌上搜索了一下,发现了两个关于解决方案的网页:

我应该把ActiveRecord的代码放在哪里?它应该在我的模型中运行吗


我的错误还有其他解决方案吗?

我不知道ruby,但它肯定已经配置或编程为使用数据库序列载体。(序列有点像数字生成器)

在数据库中创建这个序列怎么样?尝试在Oracle SQL*Plus中执行以下语句:

create sequence CARRIERS_SEQ;

您还可以指定
self.sequence\u name
命令应使用的序列

示例:

CarriersController < ActionController::Base
  self.sequence_name = 'seq_id'
end
CarriersController
如何禁用序列,我不想使用序列生成主键。我想自己管理它。