Mysql
 sql >> Database >  >> RDS >> Mysql

Perché Rails sta cercando di connettersi a MySQL?

Quando ActiveRecord fa parte dell'applicazione, tenta di stabilire una connessione al database all'avvio. Se non riesce a connettersi, l'applicazione non si avvia.

Il problema è qui:

require 'rails/all'

Questa linea include tutti i "soliti" componenti delle rotaie, tra cui ActiveRecord. Se vai alla sua definizione, dovrebbe apparire così (per i binari 3.2):

require "rails"

%w(
  active_record
  action_controller
  action_mailer
  active_resource
  rails/test_unit
  sprockets
).each do |framework|
  begin
    require "#{framework}/railtie"
  rescue LoadError
  end
end

Prendi questo codice, rimuovi la riga active_record e mettila al posto del tuo rails/all linea. Ora, ActiveRecord non è incluso e la tua applicazione fallirà rumorosamente quando vedrà i riferimenti ActiveRecord nel codice, come questo:

config.active_record.mass_assignment_sanitizer = :strict

Devi rimuovere anche questi. Non è necessario eliminare database.yml, ma probabilmente dovresti, poiché ora non ha significato.