[release/9.0] Uniquify all variables used in SQL Server migration scripts #35228
+494
−480
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Port of #35177
Fixes #35132
Description
We made a change in EF 9.0 to execute all migration operations in a single transaction/batch. However, we generate SQL variables in the script for some operations. And now that they are in the same batch they started conflicting.
The fix is to uniquify the variable names.
Customer impact
The SQL Server migration script is invalid in the above scenario. The workaround is to fix the script manually before executing it.
How found
Customer reported on 9.
Regression
Yes, from 8.
Testing
Existing tests changed to cover this.
Risk
Low.