Closed sjd2021 closed 11 months ago
I'm stepping into the Evolve ExecuteMigration
method, and this stopwatch ends at 1 minute each time depending on how fast I let the breakpoints slip through:
I confirmed that the exact same connection string and timeouts I pass into the Evolve constructor can execute this same SQL statement or any SQL statement lasting more than 1 minute. Evolve must be using some sort of weird overarching settings..
edit: I found the other timeout setting, AmbientTransactionTimeout
which I hadn't seen before for some reason. It isn't included in the Options page.
Yes sorry, not documented yet. I'll do it when I'll upgrade some part of Evolve to .NET 8
Indeed when TransactionMode = TransactionKind.CommitAll
Evolve will use .NET TransactionScope
and all its default settings unless you define AmbientTransactionTimeout
Don't hesitate to tell me if it works now with a 10 min timeout for example
Thanks
@lecaillon Yes, it is working perfectly now. My week is looking pretty good now that I won't have to perform any manual migrations or changelog manipulations 😅
I read up on the changes required to update transaction defaults for versions prior to .NET 7 (which has an API for it) and saw you had already implemented it clearly in #295 .
Great thanks for your feedbacks, see you :)
When running the migrations via C#, I specify the options like this:
But I've noticed that the timeout seems to stop at exactly 60 seconds at which point I'll get this notification:
I occasionally up the timeout for a long-running command from 30 seconds to 5 minutes, but it seems to stop at 60 seconds no matter what.