簡體   English   中英

ActiveRecord :: ConnectionNot在rake任務中建立

[英]ActiveRecord::ConnectionNotEstablished within a rake task

我正在創建一個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

我嘗試這樣運行:

rake remove_rubyrep
RAILS_ENV=development rake remove_rubyrep

問題是rake任務錯誤:

rake aborted!
ActiveRecord::ConnectionNotEstablished

有關如何允許rake任務連接到DB以執行原始sql的任何建議? 謝謝

您沒有在rake任務中加載rails應用程序,因此ActiveRecord永遠不會創建數據庫連接。

將您的rake任務更改為:

task :remove_rubyrep => :environment do

完成后,您將不再需要“establish_connection”行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM