Oracle
 sql >> Database >  >> RDS >> Oracle

Come eseguire uno script specifico dopo esserti connesso a Oracle usando i binari?

Ho trovato la soluzione:
Crea il file /config/initializers/oracle.rb e inserisci questo codice:

ActiveRecord::ConnectionAdapters::ConnectionPool.class_eval do
  def new_connection_with_initialization
    result = new_connection_without_initialization
    result.execute('begin Base_Pck.ConfigSession; end;')
    result
  end
  alias_method_chain :new_connection, :initialization
end

La alias_method_chain ti permette di cambiare un metodo (new_connection) senza sovrascriverlo, ma estendendolo. Quindi dobbiamo solo cambiare lo script nel result.execute chiama.