EFCoreAutoMigrator is an aggressive automatic migration tool that works with Entity Framework Core 2.1 and above. It basically recreates your database tables whenever it detects a change in your database schema.
EFCoreAutoMigrator was built for speeding up the development stages of your applications. Since you don't need to deal with database migrations after you install this tool;
- No migration files generated.
- No more conflicts with your branch and your teammates.
- Fixing database schema errors is a lot easier.
EFCoreAutoMigrator creates and stores a hash in your FileSystem or Database to check if you have any changes on your current schema by utilizing GenerateCreateScript function of EFCore 2.1+.
It is quite simple to install.
You can install EFCoreAutoMigrator from NuGet with the command below:
Install-Package EFCoreAutoMigrator
Program.cs
publicstaticclassProgram{publicstaticvoidMain(string[]args){IWebHostserver=BuildWebHost(args);varenv=server.Services.GetService(typeof(IHostingEnvironment))asIHostingEnvironment;// I would highly suggest you to not to use this tool in your production environment.// Since it will vaporize your whole database which you probably don't want :)if(!env.IsProduction()){using(IServiceScopeserviceScope=server.Services.GetService<IServiceScopeFactory>().CreateScope()){// Make sure that your DbContext is registered in your DI container.MyDbContextmyDbContext=serviceScope.ServiceProvider.GetService<MyDbContext>();// Always protect your production/secure databases.varsecureDataSources=newSecureDataSource[]{newSecureDataSource{ServerAddress="mysecure.database.net",DatabaseName="my-production-database"}};newAutoMigrator(myDbContext,secureDataSources).EnableAutoMigration(false,MigrationModelHashStorageMode.Database,()=>{// Seed function here if you need});}}server.Run();}publicstaticIWebHostBuildWebHost(string[]args)=>WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().Build();}* Tests
* Further documentation