Module: IdRandomizer::PostgreSQL
- Defined in:
- lib/id_randomizer/postgresql.rb
Class Method Summary collapse
Class Method Details
.randomize_ids(except) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# 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 |