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 № 1Non 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"