7

Sto lavorando per creare un'attività rake per rimuovere alcune tabelle e trigger.ActiveRecord :: ConnectionNotEstablished all'interno di un'attività rake

Il mio compito rake:

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 fare funzionare questo modo:

rake remove_rubyrep 
RAILS_ENV=development rake remove_rubyrep 

Il problema è che gli errori compiti rastrello con:

rake aborted! 
ActiveRecord::ConnectionNotEstablished 

Qualche suggerimento su come consentire l'attività rake per connettersi al DB per eseguire il raw sql? Grazie

risposta

21

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

Cambia il vostro compito rastrello per:

task :remove_rubyrep => :environment do 

Dopo aver fatto questo, non potrai più bisogno della "establish_connection" linea

+0

puro genio, grazie – AnApprentice

Problemi correlati