gpt4 book ai didi

ruby-on-rails - 使用 Rails 控制台截断表

转载 作者:行者123 更新时间:2023-12-03 07:06:09 25 4
gpt4 key购买 nike

我有这个测试数据库,到目前为止,里面塞满了垃圾。现在我已经在 Rails 控制台中执行了一些 Table.destroy_all 命令,它删除了所有记录和依赖项,这非常棒。然而;我想截断所有内容,以便 ID 等再次从 1 开始。 Rails 3 有什么办法吗?

最佳答案

仅当您需要重新创建整个数据库时,接受的答案才有效。
要删除单个表(带有回调)并让 ID 从 1 开始:

Model.destroy_all # Only necessary if you want to trigger callbacks.
ActiveRecord::Base.connection.execute("TRUNCATE #{table_name} RESTART IDENTITY")

如果您使用的是 Sqlite,它不支持截断,因此请执行以下操作:

Model.destroy_all # Only necessary if you want to trigger callbacks.
ActiveRecord::Base.connection.execute("Delete from #{table_name}")
ActiveRecord::Base.connection.execute("DELETE FROM SQLITE_SEQUENCE WHERE name='#{table_name}'")

关于ruby-on-rails - 使用 Rails 控制台截断表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13173618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com