所以我的数据库遇到了一些问题。我有导入功能,我用它导入几千条记录。现在我在本地开发(SQLite),一切正常。我将更新推送到heroku,我有一个PostgreSQL数据库。我在那里运行我的导入,它似乎也运作良好。现在,我正在尝试在该表中手动创建另一条记录,并且我不断收到唯一ID重复的错误。因此,经过一些在线搜索后,我将此扩展创建为活动记录:
def self.reset_pk_sequence
case ActiveRecord::Base.connection.adapter_name
when 'SQLite'
new_max = maximum(primary_key) || 0
update_seq_sql = "update sqlite_sequence set seq = #{new_max} where name = '#{table_name}';"
ActiveRecord::Base.connection.execute(update_seq_sql)
when 'PostgreSQL'
ActiveRecord::Base.connection.reset_pk_sequence!(table_name)
else
raise "Task not implemented for this DB adapter"
end
end
我把它放在我的桌子上,而ID正在从它应该的位置开始计算(3000而不是1,2,3等)。
我现在的问题是我能够在我的表中创建新记录,并在索引页面中看到它们。但是,当我尝试打开该特定记录时,我收到此错误:
您要查找的页面不存在。 您可能输错了地址或页面可能已移动。
我索引的链接只是记录的ID。当我检查控制台中是否存在此ID时,我完全能够找到该记录。这里出了什么问题?
答案 0 :(得分:0)
我明白了。我有一些空关联,我试图在视图中显示。这个错误让我失望,因为我的记录似乎出了问题。