[英]Using ActiveRecord::Base.transaction in a rake task?
我正在編寫一個rake任務,該任務有時使用一種自定義的YAML文件導入方法來播種數據庫。
耙任務看起來像:
desc "Seed the database with production/ data."
task :production => :environment do
import_yaml 'seed/production'
end
在導入代碼的某一點上,我有:
ActiveRecord::Base.transaction do
嘗試運行rake任務時拋出:
You have a nil object when you didn't expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]
堆棧跟蹤指向代碼中的上述行。
有沒有辦法在瑞克任務期間實例化ActiveRecord :: Base?
謝謝!
也許您沒有在rake任務中包含“環境”?
task (:my_rake_task => :environment) do
# ....
end
沒有=>:environment,您將無法訪問任何Rails應用程序模型
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.