sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo ejecutar un script específico después de conectarse a Oracle usando rieles?

Encontré la solución:
Cree el archivo /config/initializers/oracle.rb y coloque este código:

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 le permite cambiar un método (nueva_conexión) sin anularlo, pero extendiéndolo. Luego, solo necesitamos cambiar el script a result.execute llamar.