2010-09-08 44 views
2

我的開發團隊需要更精確地運行rake任務。某些任務需要在特定代碼更改後才運行一次。沒有太具體的說法,就好像需要在代碼中實現新用戶的新業務規則之後更新某些現有用戶記錄。Rails:運行類似遷移的rake任務

我們喜歡遷移使用db表進行日誌記錄。是否有類似的耙子任務工具?我們可以攻擊Rails的/ ActiveRecord的rake任務的遷移系統嗎?

我們不希望將與數據庫相關的遷移與rake任務混合在一起,所以任何明確保持這些獨立的解決方案都會很好。

謝謝。

回答

6

需要特定的代碼改變後只運行一次

更新某些現有的用戶記錄

這些遷移。使用遷移。除非你還沒有提到一些額外的限制,否則使用除了遷移之外的任何東西都是黑客行爲。

+1

+1遷移沒有被限制,只是架構更改。 – Shadwell 2010-09-09 23:50:46

+0

正確。實際上,「遷移不限於更改模式,您也可以使用它們修復數據庫中的錯誤數據或填充新字段」(http://guides.rubyonrails.org/migrations.html#anatomy-of-a -移民)。 – yfeldblum 2010-09-10 01:08:30

+0

如果你將要使用這樣的遷移,你應該編寫不引用模型名稱的SQL,以防萬一任何模型名稱發生變化,遷移不應該隨時間改變,但表名將通過遷移之後使用這個表名。 – 2016-05-04 13:47:48