我正在使用有角度的导轨4。我正在从纯粹的rails网站更新我的网站,并创建了后端并填充了数据库。模型的ID" Droplets"从10开始,因为前9个从我转移的转储数据库中删除了。现在当它创建新的Droplet时,rails已经开始将它们添加到开头(即1,2,3,4等)。这没关系,但现在我们已经到了10,而不是将它们添加到下一个唯一的空间,它忽略了10已经存在于数据库中,然后违反唯一性约束并且POST请求失败。
注意:我也更改了模型的名称。如何让轨道再次正确设置ID?
答案 0 :(得分:2)
我喜欢通过Postgresql本身来做到这一点。 (叫我旧时尚:)
ALTER sequence your_table_id_seq restart 11;
其中your_table是表名
答案 1 :(得分:0)
问题在于Postgres数据库序列。需要重置它,以便将每个表的id设置为找到的最后一个。这是在rails控制台中使用:
完成的ActiveRecord::Base.connection.reset_pk_sequence!('table_name')
将“table_name”替换为要更改序列的表的名称。