Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como executar script específico depois de conectado ao oracle usando trilhos?


Encontrei a solução:
Crie o arquivo /config/initializers/oracle.rb e coloque nele 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

O alias_method_chain permite que você altere um método (new_connection) sem substituí-lo, mas estendendo-o. Então, precisamos apenas alterar o script para o result.execute ligar.