Skip to content
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

Open up MigrationHistoryTable's model building for provider extensibility (or rethink the design) #34991

Open
Tracked by #19587
roji opened this issue Oct 27, 2024 · 1 comment

Comments

@roji
Copy link
Member

roji commented Oct 27, 2024

MigrationHistoryTable constructs a mini-model in order to generate the migration command for the creation of the history table in the database (code). It removes some specific conventions in order to avoid creating other tables at that point (only the migration history table).

The problem is, providers may have their own conventions which add things to the database. For example, Npgsql has conventions which create database extensions, enums, and possibly collations - all these operations shouldn't happen at this point (where all we want is to create the history table); this is the cause of npgsql/efcore.pg#3324. But the code that generates the model - and selectively removes the conventions - is private.

We should open this up for extensibility, or possibly rethink the design here.

/cc @AndriySvyryd

@AndriySvyryd
Copy link
Member

Related to #28340

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants