Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie führe ich ein bestimmtes Skript aus, nachdem ich mit Rails eine Verbindung zu Oracle hergestellt habe?

Ich habe die Lösung gefunden:
Erstellen Sie die Datei /config/initializers/oracle.rb und fügen Sie diesen Code ein:

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

Die alias_method_chain ermöglicht es Ihnen, eine Methode (new_connection) zu ändern, ohne sie zu überschreiben, sondern sie zu erweitern. Dann müssen wir nur noch das Skript in result.execute ändern anrufen.