Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cyilcode/efcoreautomigrator
An aggresive auto migrator tool for EF core 2.1 and above
https://github.com/cyilcode/efcoreautomigrator
auto-migartion dotnet dotnet-core efcore2 entity-framework-core
Last synced: about 16 hours ago
JSON representation
An aggresive auto migrator tool for EF core 2.1 and above
- Host: GitHub
- URL: https://github.com/cyilcode/efcoreautomigrator
- Owner: cyilcode
- License: mit
- Created: 2019-01-30T08:10:11.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-10-18T15:36:40.000Z (about 2 years ago)
- Last Synced: 2024-11-09T06:10:08.532Z (6 days ago)
- Topics: auto-migartion, dotnet, dotnet-core, efcore2, entity-framework-core
- Language: C#
- Size: 24.4 KB
- Stars: 23
- Watchers: 5
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![NuGet](https://img.shields.io/nuget/dt/EFCoreAutoMigrator.svg)](https://www.nuget.org/packages/EFCoreAutoMigrator/)
[![DynamicQueryBuilder](https://img.shields.io/nuget/v/EFCoreAutoMigrator.svg)](https://www.nuget.org/packages/EFCoreAutoMigrator/)
[![License](https://img.shields.io/badge/License-MIT-green.svg)](https://github.com/oplog/EFCoreAutoMigrator/blob/master/LICENSE)# What ?
EFCoreAutoMigrator is an aggressive automatic migration tool that works with [Entity Framework Core 2.1](https://github.com/aspnet/EntityFrameworkCore) 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 ](https://docs.microsoft.com/en-us/dotnet/api/microsoft.entityframeworkcore.relationaldatabasefacadeextensions.generatecreatescript?view=efcore-2.1) 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**
```csharp
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().CreateScope())
{
// Make sure that your DbContext is registered in your DI container.
MyDbContext myDbContext = serviceScope.ServiceProvider.GetService();
// Always protect your production/secure databases.
var secureDataSources = new SecureDataSource[]
{
new SecureDataSource
{
ServerAddress = "mysecure.database.net",
DatabaseName = "my-production-database"
}
};
new AutoMigrator(myDbContext, secureDataSources).EnableAutoMigration(
false, MigrationModelHashStorageMode.Database, () =>
{
// Seed function here if you need
});
}
}server.Run();
}public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.Build();
}
```
#### TODO:
* Tests
* Further documentation