module IdRandomizer::PostgreSQL
Public Class Methods
randomize_ids(except)
click to toggle source
# File lib/id_randomizer/postgresql.rb, line 5 def self.randomize_ids(except) blacklist = %w(schema_migrations ar_internal_metadata) blacklist += except.is_a?(Array) ? except : [except] models = ActiveRecord::Base.descendants.reject do |model| model.table_name.nil? || model.sequence_name.nil? || blacklist.include?(model.table_name) end models.each do |model| val = rand(100..1024) model.connection.execute("SELECT setval('#{model.sequence_name}', #{val});") end end