This is a grouping of related issues. Feel free to vote (👍) for this issue to indicate that this is an area that you think we should spend time on, but consider also voting for individual issues for things you consider especially important.
Currently, many developers migrate their databases at application startup time. This is easy but is not recommended because:
- Multiple threads/processes/servers may attempt to migrate the database concurrently
- Applications may try to access inconsistent state while this is happening
- Usually the database permissions to modify the schema should not be granted for application execution
- Its hard to revert back to a clean state if something goes wrong
We want to deliver a better experience here that allows an easy way to migrate the database at deployment time. This should:
- Work on Linux, Mac, and Windows
- Be a good experience on the command line
- Support scenarios with containers
- Work with commonly used real-world deployment tools/flows
- Integrate into at least Visual Studio
The result is likely to be many small improvements in EF Core (for example, better Migrations on SQLite), together with guidance and longer-term collaborations with other teams to improve end-to-end experiences that go beyond just EF.
Done in 6.0
Done in 9.0
Backlog
This is a grouping of related issues. Feel free to vote (👍) for this issue to indicate that this is an area that you think we should spend time on, but consider also voting for individual issues for things you consider especially important.
Currently, many developers migrate their databases at application startup time. This is easy but is not recommended because:
We want to deliver a better experience here that allows an easy way to migrate the database at deployment time. This should:
The result is likely to be many small improvements in EF Core (for example, better Migrations on SQLite), together with guidance and longer-term collaborations with other teams to improve end-to-end experiences that go beyond just EF.
Done in 6.0
Done in 9.0
Backlog