4

最小限の労力でデータベース スキーマを最新の状態に保つ方法として、FluentMigratorを試しています。

現在作成中のリリースでは、データベース スクリプトを実行して、既存のデータの多数の行に単純な変更を加える必要があります (21,000,000 行の約 2% を更新する必要があります)。

1 回のトランザクションで更新するにはデータが多すぎるため (トランザクション ログがいっぱいになり、スクリプトが中止されます)、WHILE ループを使用してテーブルを反復処理し、一度に 10,000 行を更新し、各バッチを個別のトランザクションで更新します。これは機能し、完了するまでに約 15 分かかります。

スクリプトが完成したので、FluentMigrator に統合しようとしています。

FluentMigrator は、1 つのトランザクションで 1 つのバッチのすべての移行を実行するようです。

FM で各移行を個別のトランザクションで実行するにはどうすればよいですか?
特定の移行にトランザクションを使用しないように FM に指示できますか?

4

1 に答える 1

0

これは今のところ不可能です。

進行中の議論があり、いくつかの作業はすでに進行中です。ここで確認してください: https://github.com/schambers/fluentmigrator/pull/178

しかし、あなたのユースケースは、物事を正しい方向に進めるのに確実に役立ちます。
議論への参加を歓迎します!

多分誰かが一時的な回避策を見つけるでしょうか?

于 2012-07-11T22:14:42.500 に答える