-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Fix to #11502 - Allow to specify constraint name for default values #36067
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bc101d9 to
2a63511
Compare
Adding model builder API to allow specifying explicit constraint name when adding default value (sql) to a column. Also added switch on the model level (opt-in) to switch from system-generated constraints to generating them automatically by name and storing in the model. This is opt-in because we don't want to cause unnecessary migrations. Added de-duplication logic in the finalize model step, in case our generated names happen to clash with ones specified explicitly by user. Model builder APIs are exposed on the SQL Server level, but a lot of piping is in relational so that providers who support named constraints can take advantage of the feature. Also split temporal tables migration tests for SqlServer into a separate file - there were way to many tests in MigrationsSqlServerTest Fixes #11502
2a63511 to
8b52a06
Compare
maumar
commented
May 12, 2025
test/EFCore.Design.Tests/Migrations/Design/CSharpMigrationsGeneratorTest.cs
Show resolved
Hide resolved
Contributor
Author
|
@AndriySvyryd is probably the best person to look at this |
src/EFCore.Relational/Extensions/RelationalPropertyExtensions.cs
Outdated
Show resolved
Hide resolved
src/EFCore.Relational/Extensions/RelationalPropertyExtensions.cs
Outdated
Show resolved
Hide resolved
� Add model builder extention methods for other types of properties � Uniquify names using the established pattern in SharedTableConvention � Make GetDefaultConstraintName return the generated default constraint name if UseNamedDefaultConstraints was called
AndriySvyryd
approved these changes
May 20, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Adding model builder API to allow specifying explicit constraint name when adding default value (sql) to a column. Also added switch on the model level (opt-in) to switch from system-generated constraints to generating them automatically by name and storing in the model. This is opt-in because we don't want to cause unnecessary migrations. Added de-duplication logic in the finalize model step, in case our generated names happen to clash with ones specified explicitly by user.
Model builder APIs are exposed on the SQL Server level, but a lot of piping is in relational so that providers who support named constraints can take advantage of the feature.
Also split temporal tables migration tests for SqlServer into a separate file - there were way too many tests in MigrationsSqlServerTest
Fixes #11502