Question

I'm trialing FluentMigrator as a way of keeping my database schema up to date with minimum effort.

For the release I'm currently building, I need to run a database script to make a simple change to a large number of rows of existing data (around 2% of 21,000,000 rows need to be updated).

There's too much data for to be updated in a single transaction (the transaction log gets full and the script aborts), so I use a WHILE loop to iterate through the table, updating 10,000 rows at a time, each batch in a separate transacticon. This works, and takes around 15 minutes to run to completion.

Now I have the script complete, I'm trying to integrate it into FluentMigrator.

FluentMigrator seems to run all the migrations for a single batch in one transaction.

How do I get FM to run each migration in a separate transaction?
Can I tell FM to not use a transaction for a specific migration?

Was it helpful?

Solution

This is not possible as of now.

There are ongoing discussions and some work already in progress. Check it out here : https://github.com/schambers/fluentmigrator/pull/178

But your use case will surely help in pushing the things in the right direction.
You are welcome to take part to the discussion!

Maybe someone will find a temporary workaround?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top