Я написал задачу rake для обновления моей базы данных, которую я делаю по модели. Я назвал функцию модели внутри моей передней задачи, как это:ActiveRecord :: ConnectionNotEstablished error
get_first_student = Student.get_first_id
Я написал модель студента, как следующее:
class Students < ActiveRecord::Base
attr_accessible :id, :roll_num :name, :class
self.table_name = 'students'
if Rails.env == "development"
CONN1 = establish_connection :adapter => "mysql2",
:database => "mydb_dev",
:username => "root",
:password => "" ,
:host => "localhost"
CONN2 = establish_connection :adapter => "mysql2",
:database => "mydb2_dev",
:username => "root",
:password => "",
:host => "1.2.3.4"
else
CONN1 = establish_connection :adapter => "mysql2",
:database => "mydb_prod",
:username => "root",
:password => "" ,
:host => "localhost"
CONN2 = establish_connection :adapter => "mysql2",
:database => "mydb2_prod",
:username => "root",
:password => "" ,
:host => "localhost"
end
def self.get_first_id
p "****"
p CONN1
p "****"
sql = %Q{SELECT MIN(id) FROM mydb.students;}
first_student_id = CONN1.connection.execute(sql).first[0]
return first_student_id
end
После запуска, я получаю этот следующий вывод:
#<ActiveRecord::ConnectionAdapters::ConnectionPool:0x007f948c223120 @mon_owner=nil,
@mon_count=0, @mon_mutex=#<Mutex:0x007f948c2230d0>, @spec=#
<ActiveRecord::Base::ConnectionSpecification:0x007f948c2232d8 @config=
{:adapter=>"mysql2",:database=>"mydb_dev", :username=>"root", :password=>"",
:host=>"localhost"}, @adapter_method="mysql2_connection">, @reserved_connections={},
@queue=#<MonitorMixin::ConditionVariable:0x007f948c223080 @monitor=#
<ActiveRecord::ConnectionAdapters::ConnectionPool:0x007f948c223120 ...>, @cond=#
<ConditionVariable:0x007f948c223058 @waiters=[], @waiters_mutex=#
<Mutex:0x007f948c223008>>>, @timeout=5, @size=5, @connections=[],
@automatic_reconnect=false>
ActiveRecord::ConnectionNotEstablished
Похоже, что он не может подключиться - у вас есть настройка MYSQL на вашем локальном хосте? –
Да, я установил настройку MYSQL в своем локальном хосте. – Joy
Работает ли он при вызове запроса? –