rails postgres的一些序列不是从1开始的

时间:2016-04-23 16:10:39

标签: ruby-on-rails postgresql

我在postgresql数据库的rails上使用ruby。奇怪的是,有些tables_id_seq不是从1开始,而是从980190963开始。但是有些seq正确地从1开始。

问题是当我尝试将数据插入那些seq不是从1开始的表时,偶尔会出现唯一的主键违规。

- 编辑 -

我发现当我做

rake db:migrate test

问题发生了。

如果我这样做

rake db:migrate RAILS_ENV=test

问题已经消失。

1 个答案:

答案 0 :(得分:0)

如果您不需要将数据保存在这些表中,您可以运行以下将重置表(这将删除任何数据)并重新启动表ID以从1开始。这只是可用的IF你不需要那个表中的数据!

D:\

至于为什么你的表从id值开始,我会先检查你的迁移。也许在代码中的某处有一个“Alter Sequence”sql语句但又不确定。