Problems with database config and prepare_to method

In my production environment I have 1 server running as mainappserver ( ex. 10.10.10.10 ) ( Rails + Apache2 + Mysql ) and during heavy periods we startup a second application server that just handle the Rails application calls.

The second application server ( ex. 20.20.20.20 ) connects to the mysql of the mainappserver as specified in the database.yml :

    production:       adapter: mysql2       database: appname       username: appuser       password: password       host: 10.10.10.10       encoding: utf8       reconnect: true

Now everytime I'm running a rake tasks or a rails command ( ex. rails console production ) I get the following error :

Access denied for user 'appuser'@'20.20.20.20' (using password: YES)

It is strange that he is not connecting to the database specified in the database.yml file. After some research I figured out that one of my custom plugins is causing the problem. The problem is comming from the initializer of the plugin where I do :

require "#{File.dirname(__FILE__)}/lib/fianet_order"

    config.to_prepare do        if AppConfig.fianet.enabled           load_fianet        end     end

We need to use the config.to_prepare because we want that it only loads 1 time when it is the production environment and reload everytime in development mode. In load_fianet we do a class_eval on a model to add some specific methods.

If I delete this code, the rake tasks and rails commands are working fine. How does it come that he is not taking the normal database.yml at this point? It is for the moment also unclear from where he gets the 20.20.20.20 host address to connect to. It is nowhere specified.