/ / ActiveRecord :: ConnectionNotEstablished all'interno di un'attività rake: ruby-on-rails, ruby-on-rails-3, postgresql, postgresql-9.1

ActiveRecord :: ConnectionNotEstablished all'interno di un'attività rake: ruby-on-rails, ruby-on-rails-3, postgresql, postgresql-9.1

Sto lavorando per creare un'attività rake per rimuovere alcuni tavoli e trigger.

Il mio compito di rastrello:

task :remove_rubyrep do
sql = <<-SQL
DROP TABLE rr_logged_events, rr_running_flags, rr_pending_changes;
SQL
ActiveRecord::Base.establish_connection
ActiveRecord::Base.connection.execute(sql)
end

Ho provato a farlo in questo modo:

rake remove_rubyrep
RAILS_ENV=development rake remove_rubyrep

Il problema è rappresentato dagli errori dei task rake con:

rake aborted!
ActiveRecord::ConnectionNotEstablished

Qualche suggerimento su come consentire al task rake di connettersi al DB per eseguire lo sql raw? Grazie

risposte:

22 per risposta № 1

Non stai caricando l'applicazione rails nella tua attività rake, quindi ActiveRecord non crea mai una connessione al database.

Cambia la tua attività di rake in:

task :remove_rubyrep => :environment do

Dopo averlo fatto, non avrai più bisogno della linea "establish_connection"