重置 Rails 中 sqlite 数据库表中的 id 字段

Raz*_*aza 0 sqlite activerecord ruby-on-rails

我在示例 Rails 应用程序中使用 sqlite db。从我的用户表中,我已使用 清除了所有记录User.delete_all。但现在每当我使用 向表中插入新记录时User.create,id 的起始值都会比表中最后一条记录的 id 大 1。例如,如果我的表有 5 条记录,并且我清除了所有记录,那么当我执行 User.create 时,它​​从 id 6 开始。有什么方法可以使 id 再次从 1 开始吗?

谢谢

Raz*_*aza 5

类似的问题:如何重置 Rails 中的单个表?。我们可以在 Rails 控制台运行以下命令,将 sqlite 表的 id 列重置为 1

ActiveRecord::Base.connection.execute("DELETE from sqlite_sequence where name = '<table_name>'") 
Run Code Online (Sandbox Code Playgroud)