Class: PGTrunk::Operations::Views::ChangeView

Inherits:
Base show all
Defined in:
lib/pg_trunk/operations/views/change_view.rb

Instance Method Summary collapse

Methods included from PGTrunk::Operation::SQLHelpers

#quote

Methods included from PGTrunk::Operation::RubyHelpers

#dump, #to_a, #to_opts, #to_ruby

Methods included from PGTrunk::Operation::Inversion

#invert!, #irreversible!

Methods included from PGTrunk::Operation::Validations

#error_messages

Methods included from PGTrunk::Operation::Attributes

#attributes, #initialize

Instance Method Details

#invertObject



66
67
68
69
70
71
72
73
74
# File 'lib/pg_trunk/operations/views/change_view.rb', line 66

def invert
  irreversible!("if_exists: true") if if_exists
  undefined = inversion.select { |_, v| v.nil? }.keys.join(", ").presence
  raise IrreversibleMigration.new(self, nil, <<~MSG.squish) if undefined
    Undefined values to revert #{undefined}.
  MSG

  self.class.new(**inversion, name: name)
end

#to_sql(server_version) ⇒ Object



62
63
64
# File 'lib/pg_trunk/operations/views/change_view.rb', line 62

def to_sql(server_version)
  create_view&.to_sql(server_version)
end