gpt4 book ai didi

ruby-on-rails - 如何在不调用 Model.last.id 的情况下在 Rails 中获取下一个可用的唯一 ID?

转载 作者:行者123 更新时间:2023-11-29 14:11:59 26 4
gpt4 key购买 nike

我填充了一个数据库,然后删除了所有用户。现在我需要获取下一个可用 ID(最后一个使用的是 109,但我需要它在发生这种情况的任何情况下都能工作,而不仅仅是我唯一的 ID)而不调用 Model.all.last。这可能吗?我该怎么做?

最佳答案

当您为 ActiveRecord Model 类创建表时,您将得到一个名为 models 的表。此表的 id 将是 serialmodels_id_seq 序列中获取值的列。您可以获得此序列生成的最后一个值:

select last_value from models_id_seq

所以您只需要一个简单的 select_value调用:

last_id = ActiveRecord::Base.connection
.select_value('select last_value from models_id_seq')
.to_i

请记住,当您尝试查找最后一个 id 值时,您会遇到麻烦,因为其他东西正在处理您的表。这也是 PostgreSQL 特定的,但您已将其标记为 所以这应该不是问题。

关于ruby-on-rails - 如何在不调用 Model.last.id 的情况下在 Rails 中获取下一个可用的唯一 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16204277/

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