Rails重置所有Postgres序列吗? [英] Rails reset ALL Postgres sequences?

查看:78
本文介绍了Rails重置所有Postgres序列吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下在Rails 3控制台中用于重置Postgres序列:

The following works in the Rails 3 console to reset Postgres sequences:

ActiveRecord::Base.connection.reset_pk_sequence!('menucontrols')
ActiveRecord::Base.connection.reset_pk_sequence!('statuscodes')
ActiveRecord::Base.connection.reset_pk_sequence!('wostatuses')
ActiveRecord::Base.connection.reset_pk_sequence!('taskstatuses')
ActiveRecord::Base.connection.reset_pk_sequence!('priorities')
ActiveRecord::Base.connection.reset_pk_sequence!('actcodes')

是否有一个命令可以重置所有命令,而不必单独执行每个命令?

Is there a command that would reset ALL of them instead of having to do each one individually?

谢谢您的帮助!

推荐答案

这很容易

ActiveRecord::Base.connection.tables.each do |t|
  ActiveRecord::Base.connection.reset_pk_sequence!(t)
end

这篇关于Rails重置所有Postgres序列吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆