带ecto的CRDB,在测试时,它不会从初始值开始序列

时间:2018-11-01 08:53:17

标签: testing ecto cockroachdb

我正在为我的应用程序使用cockroachDB。

其中一个模式具有增量ID(从1开始)。我为该表创建了序列,并将该序列用作主键。

问题在于,除非我删除数据库并创建它,否则此序列不会重置。

所以我的问题是,每次运行测试是否都可以重置此顺序?还是只有在每次运行测试时都删除并创建数据库才可以这样做?

先谢谢您。

2 个答案:

答案 0 :(得分:0)

我很确定唯一的方法就是“每次运行测试都删除并创建数据库”

这里是参考文献-How to find JNLP Node's secret key remotely

答案 1 :(得分:0)

CockroachDB支持setval()函数来重置序列的值。

但还请记住,序列不能保证没有间隙(回滚的事务可能会在从未使用的序列中留下间隙),因此您的应用程序不应假定值从1开始而不跳过任何内容。如果您不重置序列,则与在测试套件开始时有很大的差距一样。