Skip to content

Repository files navigation

NuGetDynamicQueryBuilderLicense

What ?

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.

Why ?

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.

How ?

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+.

Installation

It is quite simple to install.

You can install EFCoreAutoMigrator from NuGet with the command below:

Install-Package EFCoreAutoMigrator

On ASP.NET Core Project

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();}

TODO:

* Tests
* Further documentation

About

An aggresive auto migrator tool for EF core 2.1 and above

Topics

Resources

Stars

23 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages