Ruby on rails RubyonRails Postgres复制密钥

Ruby on rails RubyonRails Postgres复制密钥,ruby-on-rails,Ruby On Rails,我有几个代码表工作得很好。现在,当我尝试添加记录时,我得到: PG::Error: ERROR: duplicate key value violates unique constraint "classcodes_pkey" DETAIL: Key (id)=(3) already exists. 型号代码: class Classcode < ActiveRecord::Base has_many :worequests default_scope :order => '

我有几个代码表工作得很好。现在,当我尝试添加记录时,我得到:

PG::Error: ERROR:  duplicate key value violates unique constraint  "classcodes_pkey"
DETAIL:  Key (id)=(3) already exists.
型号代码:

class Classcode < ActiveRecord::Base
has_many :worequests
default_scope :order => 'classcode ASC'
def class_desc
"#{self.classcode} - #{self.classdesc}"
end

scope :archived, where(:archive => true)
scope :active, where(:archive => false)

end
类代码具有key=id[PK]序列,并且已经包含记录1到9

有什么想法吗

谢谢


PS-我被建议运行rake db:reset-现在问题消失了-但是,现在我需要重新加载数据。

我一直在尝试输入新记录,现在它的键=16,即使表中只有9条记录,也会出现相同的错误。是否可能数据库中包含序列值的表不是最新的?PostgreSQL将其作为序列存储在其元数据中。更新:回答,序列正在工作。我怎么知道?我运行了pgAdmin/maintenance/vacuum并在桌上进行了分析。顺便说一句,不止一个表给了我这个错误。另外,在Heroku上运行的同一个应用程序也很好。你能编辑你的问题来发布你的模型代码或schema.rb的相关部分吗。另外,在9行中使用了哪些键值id-从psql>提示符运行SELECTID from classcodes;我还重新启动了iMac,看看重新启动Postgres是否有帮助——同样的错误。
 create_table "classcodes", :force => true do |t|
  t.string   "classcode"
  t.string   "classdesc"
  t.datetime "created_at"
  t.datetime "updated_at"
  t.boolean  "archive",    :default => false
end