Method: RR::ReplicationInitializer#silence_ddl_notices

Defined in:
lib/rubyrep/replication_initializer.rb

#silence_ddl_notices(database) ⇒ Object

Ensures that create_table and related statements don’t print notices to stdout. Then restored original message setting.

  • database: either :left or :right



136
137
138
139
140
141
142
143
144
145
146
147
# File 'lib/rubyrep/replication_initializer.rb', line 136

def silence_ddl_notices(database)
  if session.configuration.send(database)[:adapter] =~ /postgres/
    old_message_level = session.send(database).
      select_one("show client_min_messages")['client_min_messages']
    session.send(database).execute "set client_min_messages = warning"
  end
  yield
ensure
  if session.configuration.send(database)[:adapter] =~ /postgres/
    session.send(database).execute "set client_min_messages = #{old_message_level}"
  end
end