1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-11-28 09:24:24 +01:00
fab-manager/lib/database/sequence.rb
2023-02-01 17:56:14 +01:00

24 lines
601 B
Ruby

# frozen_string_literal: true
# Database helpers
module Database; end
# Manage sequences
class Database::Sequence
class << self
# update the ID sequence for the given table
# @param table_name [String]
def update_id_seq(table_name)
return unless ActiveRecord::Base.connection.instance_values['config'][:adapter] == 'postgresql'
ActiveRecord::Base.connection.execute <<~SQL.squish
WITH max_id AS (
SELECT max(id) as max FROM #{table_name}
)
SELECT setval('#{table_name}_id_seq', max_id.max)
FROM max_id;
SQL
end
end
end