Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi rails essaie-t-il de se connecter à mysql ?

Lorsqu'ActiveRecord fait partie de l'application, il essaie d'établir une connexion à la base de données au démarrage. Si la connexion échoue, l'application ne démarre pas.

Le problème est là :

require 'rails/all'

Cette ligne comprend tous les composants de rails "habituels", dont ActiveRecord. Si vous allez à sa définition, cela devrait ressembler à ceci (pour les rails 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

Prenez ce code, supprimez la ligne active_record et mettez-la à la place de votre rails/all ligne. Maintenant, ActiveRecord n'est pas inclus et votre application échouera bruyamment lorsqu'elle verra des références ActiveRecord dans le code, comme ceci :

config.active_record.mass_assignment_sanitizer = :strict

Vous devez également les supprimer. Vous n'avez pas besoin de supprimer database.yml, mais vous devriez probablement le faire, car il n'a plus de sens maintenant.