我在postgresql数据库的rails上使用ruby。奇怪的是,有些tables_id_seq不是从1开始,而是从980190963开始。但是有些seq正确地从1开始。
问题是当我尝试将数据插入那些seq不是从1开始的表时,偶尔会出现唯一的主键违规。
- 编辑 -
我发现当我做
时rake db:migrate test
问题发生了。
如果我这样做
rake db:migrate RAILS_ENV=test
问题已经消失。
答案 0 :(得分:0)
如果您不需要将数据保存在这些表中,您可以运行以下将重置表(这将删除任何数据)并重新启动表ID以从1开始。这只是可用的IF你不需要那个表中的数据!
D:\
至于为什么你的表从id值开始,我会先检查你的迁移。也许在代码中的某处有一个“Alter Sequence”sql语句但又不确定。