Module: ActiveRecord::Temporal::SystemVersioning::CommandRecorder

Defined in:
lib/activerecord/temporal/system_versioning/command_recorder.rb

Instance Method Summary collapse

Instance Method Details

#invert_change_versioning_hook(args) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/activerecord/temporal/system_versioning/command_recorder.rb', line 32

def invert_change_versioning_hook(args)
  source_table, history_table, options = args

  [
    :change_versioning_hook,
    [
      source_table,
      history_table,
      add_columns: options[:remove_columns],
      remove_columns: options[:add_columns]
    ]
  ]
end

#invert_create_versioning_hook(args) ⇒ Object



28
29
30
# File 'lib/activerecord/temporal/system_versioning/command_recorder.rb', line 28

def invert_create_versioning_hook(args)
  [:drop_versioning_hook, args]
end

#invert_drop_versioning_hook(args) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/activerecord/temporal/system_versioning/command_recorder.rb', line 18

def invert_drop_versioning_hook(args)
  _, _, columns = args

  if columns.nil?
    raise ActiveRecord::IrreversibleMigration, "drop_versioning_hook is only reversible if given :columns option."
  end

  [:create_versioning_hook, args]
end