Class: ActiveRecord::ConnectionAdapters::PostgreSQL::SchemaStatements::SequenceReset

Inherits:
Object
  • Object
show all
Defined in:
activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb

Overview

:nodoc:

Defined Under Namespace

Classes: Data

Instance Method Summary collapse

Constructor Details

#initialize(adapter, tables) ⇒ SequenceReset

Returns a new instance of SequenceReset.



365
366
367
368
# File 'activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb', line 365

def initialize(adapter, tables)
  @adapter = adapter
  @tables = tables.to_h { |table, data| [table.to_s, Data.new(*data)] }
end

Instance Method Details

#resetObject



370
371
372
373
374
375
376
377
378
379
# File 'activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb', line 370

def reset
  backfill

  reset_sqls = @tables.values.filter_map do |data|
    next unless data.sequence && (data.max_value || data.min_value)
    reset_sequence_sql(data.sequence, data.max_value, data.min_value)
  end

  @adapter.execute_batch(reset_sqls, "SCHEMA")
end