2016-04-28 33 views
2

我有習慣爲每個自定義類型或部件保留一個單獨的遷移類。很多時候我想將同一個分類標準的Taxonomy字段附加到幾個自定義零件上。由於我不確定哪個遷移將首先運行,因此我必須檢查每個遷移中是否存在Taxonomy,如果不存在,則會創建它,從而導致大量重複的代碼。爲了可重用性/可維護性,我可以將代碼移入服務中,但如果我確切知道哪個遷移將首先執行,那麼將更容易。在Orchard中執行遷移的順序是什麼?

+0

我認爲它是按照發現的模塊和類的順序,只需在你的遷移中設置一個斷點並觀察調用堆棧。你應該在基類的某個地方看到一個循環。 – ViRuSTriNiTy

回答

2

它們應該按依賴性順序運行,從依賴項開始,以模塊爲依據結束。

但是,對於這種情況,您可能想嘗試食譜而不是遷移。

+0

謝謝!因此,假設我無法使用配方來達到我的目的,並且我有一個由多個自定義模塊組成的網站,每個模塊都包含多個遷移文件,但我仍然不完全確定哪些遷移將首先運行。所有模塊都具有相同的依賴關係,並且我知道模塊內遷移的順序不是按字母順序排列的,也不是按創建日期或修改日期排列的。我可以把我的遷移到一個單獨的模塊中,讓我所有的人都依賴它,但我認爲爲了簡單起見,我將在未來使用靜態方法。 – Lawyerson

相關問題