2012-07-05 84 views
4

我正在试用FluentMigrator作为一种使我的数据库模式保持最新,并且花费最少的方式。使用长时间运行的数据库迁移脚本

对于我目前正在构建的版本,我需要运行数据库脚本来对大量现有数据行进行简单更改(需要更新大约2,000,000个行的2%)。

有太多的数据需要在单个事务中更新(事务日志已满且脚本中止),所以我使用WHILE循环遍历表,每次更新10,000行,一个单独的transacticon。这工作,需要大约15分钟才能完成。

现在我已经完成了脚本,我试图将它集成到FluentMigrator中。

FluentMigrator似乎在一个事务中为单个批处理运行所有迁移。

如何让FM在单独的事务中运行每个迁移?
我可以告诉FM不要使用交易进行特定迁移吗?

回答

0

这是不可能的。

正在进行中的讨论和一些工作已在进行中。 看看这里:https://github.com/schambers/fluentmigrator/pull/178

但是你的用例肯定会有助于推动事情朝着正确的方向发展。
欢迎您参加讨论!

也许有人会找到一个临时的解决方法?