簡體   English   中英

在Rake任務中的db:test:prepare之后訪問ActiveRecord模型

[英]Accessing ActiveRecord Models after a `db:test:prepare` in a Rake Task

在我的Rails應用程序中,我創建了一個rake任務,該任務使用db:reset數據庫,使用db:test:prepare准備測試數據庫,然后嘗試使用ActiveRecord使用示例數據重新填充數據庫:

namespace :db do
  task :repopulate => :environment do
    Rake::Task['db:reset'].invoke
    Rake::Task['db:test:prepare'].invoke
    puts Course.first.inspect
  end
end

不幸的是,該任務在我運行時失敗,並抱怨Could not find table 'courses' 此外,它似乎沒有正確准備測試數據庫,因為在手動運行rake db:test:prepare之前,所有測試都失敗了。 如果我注釋掉調用db:test:prepare的行,那么一切似乎都可以正常工作(當然,除了它不准備測試數據庫之外)。 任何想法是什么問題或如何解決?

進行瑞克任務后,嘗試Course.reset_column_information。

暫無
暫無

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

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