在Node.jsunit testing中重置MySQL自动增量作为拆卸步骤

我目前正在Node.js应用程序中运行DAL上的unit testing。 我希望能够使用虚拟数据库,在整个testing过程中通过非正式的设置/拆卸testing我的CRUD操作。 例如,通过执行插入来进行安装,并通过执行删除来进行拆卸。

我正在testing数据库,而不是模拟/假,因为我宁愿testing复杂的SQL对数据库的半工作副本。

我遇到的问题是在具有AUTO_INCREMENT -ing的列上,我不能指望在ID上有任何一致性。 通过重新设置AUTO_INCREMENT我可以避免这一点,但是我会做大量的复制粘贴代码,在我的所有模型中插入一个方法。

有什么办法我可以做一次,忘记它? 还是有一个更好的做法,我完全错过了?

你可以使用MySQL的TRUNCATE TABLE命令,清空一个表并重置AUTO_INCREMENT列。 实际上,它会删除表并重新创build,比删除所有行更快。