EFCoreAutoMigrator 1.0.2
See the version list below for details.
dotnet add package EFCoreAutoMigrator --version 1.0.2
NuGet\Install-Package EFCoreAutoMigrator -Version 1.0.2
<PackageReference Include="EFCoreAutoMigrator" Version="1.0.2" />
paket add EFCoreAutoMigrator --version 1.0.2
#r "nuget: EFCoreAutoMigrator, 1.0.2"
// Install EFCoreAutoMigrator as a Cake Addin #addin nuget:?package=EFCoreAutoMigrator&version=1.0.2 // Install EFCoreAutoMigrator as a Cake Tool #tool nuget:?package=EFCoreAutoMigrator&version=1.0.2
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
public static class Program
{
public static void Main(string[] args)
{
IWebHost server = BuildWebHost(args);
var env = server.Services.GetService(typeof(IHostingEnvironment)) as IHostingEnvironment;
// 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 (IServiceScope serviceScope = server.Services.GetService<IServiceScopeFactory>().CreateScope())
{
// Make sure that your DbContext is registered in your DI container.
MyDbContext myDbContext = serviceScope.ServiceProvider.GetService<MyDbContext>();
new AutoMigrator(myDbContext).EnableAutoMigration(
false, MigrationModelHashStorageMode.Database, () =>
{
// Seed function here if you need
});
}
}
server.Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
TODO:
* Tests
* Further documentation
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.EntityFrameworkCore.SqlServer (>= 2.1.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.