2012-06-27 17 views
1

有沒有辦法在一行上執行多個Rails 3 rake命令,只需要啓動一次環境?如何Rails Rake多個命令與一個環境?

我知道這是可能的:

rake db:rollback db:migrate 

但是,如果選項傳遞,

rake db:migrate VERSION=0 db:migrate 

第二屆 '分貝:遷移' 將無法運行。

回答

3

我不認爲這是可能的。

我能想到的最快的解決辦法是:

RAILS_ENV=test rake db:migrate VERSION=0 && rake db:migrate 

之所以我認爲這是不可能的,因爲VERSION僅僅是一個爲db:migrate選項傳遞一個常量,不是一個屬性。例如,所有這些命令的工作:

rake db:migrate VERSION=0

rake VERSION=0 db:migrate

VERSION=0 rake db:migrate

而且因爲你不能再次改寫常數相同的動作,基本上你叫db:migrate VERSION=0兩次。

+0

這將初始化兩次環境,我不想這樣做。在rake db:rollback db:migrate中 - 效果很好。只爲這兩個命令初始化一次。 –

+0

我更新了我的答案,仍然沒有解決這個問題,但至少解釋了爲什麼我認爲這是不可能的。 – JeanMertz

0

爲什麼不試試Zeus

它預加載rails,rake,測試環境等環境。