Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
manually apply migrations for production (more manual work which is something we want to minimize) Do not do this. We are in an age where DevOps is king. Adding more manual steps to your deplo...
Answer
#1: Initial revision
> manually apply migrations for production (more manual work which is something we want to minimize) Do not do this. We are in an age where DevOps is king. Adding more manual steps to your deployment just means pulling your back from doing what is more important. Maybe I can provide a third option which is: * Use CI to test whether your migrations are valid - don't deploy if they aren't. What I mean by that is build a database from scratch to see if the migration scripts all work as a CI stage. * Use CD to migrate via the command line `dotnet ef database update`. If it succeeds great if it doesn't - then don't deploy. EF will rollback anyway. So you don't have a problem since the new code hasn't been deployed and the migration hasn't been applied. EF also provides down migrations as as well as up so if you had only a partial migration you can roll it back to the original state before its starting.