2012-07-05 88 views
4

我正在試用FluentMigrator作爲一種使我的數據庫模式保持最新,並且花費最少的方式。使用長時間運行的數據庫遷移腳本

對於我目前正在構建的版本,我需要運行數據庫腳本來對大量現有數據行進行簡單更改(需要更新大約2,000,000個行的2%)。

有太多的數據需要在單個事務中更新(事務日誌已滿且腳本中止),所以我使用WHILE循環遍歷表,每次更新10,000行,一個單獨的transacticon。這工作,需要大約15分鐘才能完成。

現在我已經完成了腳本,我試圖將它集成到FluentMigrator中。

FluentMigrator似乎在一個事務中爲單個批處理運行所有遷移。

如何讓FM在單獨的事務中運行每個遷移?
我可以告訴FM不要使用交易進行特定遷移嗎?

回答

0

這是不可能的。

正在進行中的討論和一些工作已在進行中。 看看這裏:https://github.com/schambers/fluentmigrator/pull/178

但是你的用例肯定會有助於推動事情朝着正確的方向發展。
歡迎您參加討論!

也許有人會找到一個臨時的解決方法?